Delphi 使用tcp indy10的实时音频流
从他们的例子(TLiveAudioRecorder) 如何使用TCP indy10发送音频流? 类似于Delphi 使用tcp indy10的实时音频流,delphi,delphi-7,audio-streaming,Delphi,Delphi 7,Audio Streaming,从他们的例子(TLiveAudioRecorder) 如何使用TCP indy10发送音频流? 类似于Connection.IOHandler.Write(缓冲区,0,true)您可以: 使用RawToBytes() 使用TIdMemoryBufferStream将缓冲区包装在TStream中,并将其传递给TIdIOHandler.Write(TStream): //sender procedure TMainForm.LiveAudioRecorderData(Sender: TO
Connection.IOHandler.Write(缓冲区,0,true)代码>您可以:
使用RawToBytes()
使用TIdMemoryBufferStream
将缓冲区包装在TStream
中,并将其传递给TIdIOHandler.Write(TStream)
:
//sender
procedure TMainForm.LiveAudioRecorderData(Sender: TObject;
const Buffer: Pointer; BufferSize: Cardinal; var FreeIt: Boolean);
var
I: Integer;
begin
FreeIt := True;
for I := tcpServer.Socket.ActiveConnections - 1 downto 0 do
with tcpServer.Socket.Connections[I] do
if Data = Self then // the client is ready
SendBuf(Buffer^, BufferSize);
end;
Connection.IOHandler.Write(RawToBytes(Buffer^, BufferSize));
Strm := TIdMemoryBufferStream.Create(Buffer, BufferSize);
Connection.IOHandler.Write(Strm);
Strm.Free;