danke für eure hinweise!
ich hab mich aber weiter an udp rangesetzt und es jetzt auch hinbekommen!
hier mal die wichtigen teile des codes:
Delphi-Quellcode:
type
TBuf = Array[1..4096] of byte;
[...]
var
buffer1, buffer2 : TBuf;
useFirstBuffer : boolean = true;
bufferPos : integer = 0;
Delphi-Quellcode:
procedure TForm1.deAudioInAudioRecorded(Sender: TObject; AudioData: Pointer; AudioDataSize: Integer);
begin
Client.sendbuf(AudioData^, AudioDataSize);
end;
Delphi-Quellcode:
size := client.ReceiveLength;
if(useFirstBuffer) then
begin
if(bufferPos + size <= SizeOf(buffer1)) then
begin
client.ReceiveBuf(buffer1, size, vonIP);
deAudioOut.PlayAudio(@buffer1, Size);
bufferPos := bufferPos + size;
end
else
begin
ZeroMemory(@buffer1,SizeOf(buffer1));
useFirstBuffer := false;
client.ReceiveBuf(buffer2, size, vonIP);
deAudioOut.PlayAudio(@buffer2, Size);
bufferPos := 0;
end;
end
else
begin
if(bufferPos + size <= SizeOf(buffer2)) then
begin
client.ReceiveBuf(buffer2, size, vonIP);
deAudioOut.PlayAudio(@buffer2, Size);
bufferPos := bufferPos + size;
end
else
begin
ZeroMemory(@buffer2,SizeOf(buffer2));
useFirstBuffer := false;
client.ReceiveBuf(buffer1, size, vonIP);
deAudioOut.PlayAudio(@buffer1, Size);
bufferPos := 0;
end;
end;
ich weiss es ist kein schöner code, aber er erfüllt seinen zweck.. vielleicht hilft das ja jemandem weiter, der genau dasselbe problem hatte wie ich ^^
gruß GeMo