【发布时间】:2014-01-23 06:42:11
【问题描述】:
我是多媒体工作的新手。我想通过样本捕获音频并通过网络传输到其他 ios 设备。如何开始我的工作??? .我刚刚浏览了苹果多媒体指南和speakhere示例,它充满了c++代码,他们正在写入文件然后启动服务,但我需要缓冲区......请帮助我以正确的方式开始我的工作。
提前致谢
【问题讨论】:
标签: ios audio-streaming
我是多媒体工作的新手。我想通过样本捕获音频并通过网络传输到其他 ios 设备。如何开始我的工作??? .我刚刚浏览了苹果多媒体指南和speakhere示例,它充满了c++代码,他们正在写入文件然后启动服务,但我需要缓冲区......请帮助我以正确的方式开始我的工作。
提前致谢
【问题讨论】:
标签: ios audio-streaming
我刚刚花了很多时间研究可以使用 AudioQueue 的实时音频内容,但它存在大约 100-200 毫秒的延迟问题。
如果你想做类似 t-pain 应用程序,你必须使用
它们同样难以实现,所以我只会选择remote IO路径。
来源可以在这里找到:
【讨论】:
我已经对上面的答案投了赞成票,但我想添加一条我花了一段时间才弄清楚的信息。使用 AudioQueue 进行录制时,直观的概念是,无论样本数量代表多少,回调都会定期完成。这个想法是不正确的,AudioQueue 似乎收集了很长一段时间的样本,然后在非常快的回调迭代中传递它们。
在我的例子中,我做了 20 毫秒的样本,每次回调接收 320 个样本。在打印出调用的时间戳时,我注意到一种模式:每 2 毫秒调用 1 次,然后在一段时间后调用约 180 毫秒。由于我在做 VoIP,这表现出接收端延迟增加的症状。切换到远程 I/O 似乎已经解决了这个问题。
【讨论】: