我正在开发一个个人项目,其中iPhone连接到Mac上运行的服务器类型的应用程序。 iPhone通过标准套接字发送和接收文本/ ASCII数据。我现在需要将麦克风从Mac流式传输到iPhone。我之前已经完成了一些与AudioServices的合作,但是想要在太深入之前检查我的想法。
我想我可以:
1.在Mac上的标准Cocoa应用程序中创建音频队列
2.在我的音频队列回调功能中,不是将其写入文件,而是将其写入我为音频流打开的另一个插座。
3.在iPhone上,从TCP流接收原始采样/编码音频数据并将其转储到音频队列播放器中,该播放器输出到耳机/扬声器。
我知道这不是一项小任务,我已经大大简化了我需要做的事情,但它可以像那样容易吗?
感谢您提供的任何帮助,
有状态
答案 0 :(得分:2)
这看起来很明智,但你几乎肯定需要做更多的事情:
根据您的数据速率,可能值得使用较低级别(BSD)套接字API,甚至可能使用readv()/ writev()。
如果你想要的只是一个“在线广播”服务并且你不关心使用的协议,那么使用AVPlayer / MPMoviePlayer来播放来自 URL 的音频可能更容易。这涉及实现一个讲Apple的HTTP流协议的服务器;我相信Apple有一些示例代码可以做到这一点。