首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用tcp indy10的实时音频流

使用tcp indy10的实时音频流
EN

Stack Overflow用户
提问于 2013-12-29 07:28:02
回答 1查看 1.6K关注 0票数 0

从他们的例子http://www.delphiarea.com/products/delphi-packages/waveaudio/ (TLiveAudioRecorder)

代码语言:javascript
复制
//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;

如何使用TCP indy10发送音频流?有点像Connection.IOHandler.Write(Buffer, 0, true);

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-29 16:38:09

你可以:

  1. 使用RawToBytes()将缓冲区数据复制到TIdBytes,然后将其传递给TIdIOHandler.Write(TIdBytes): ( Connection.IOHandler.Write(RawToBytes(Buffer^,BufferSize);
  2. 使用TIdMemoryBufferStream将缓冲区包装在TStream中,并将其传递给TIdIOHandler.Write(TStream): := TIdMemoryBufferStream.Create(缓冲液,BufferSize);Connection.IOHandler.Write( Strm );Strm.Free;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20823048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档