【问题标题】:Realtime audio input and output streaming in iosios中的实时音频输入和输出流
【发布时间】:2014-01-23 06:42:11
【问题描述】:

我是多媒体工作的新手。我想通过样本捕获音频并通过网络传输到其他 ios 设备。如何开始我的工作??? .我刚刚浏览了苹果多媒体指南和speakhere示例,它充满了c++代码,他们正在写入文件然后启动服务,但我需要缓冲区......请帮助我以正确的方式开始我的工作。

提前致谢

【问题讨论】:

    标签: ios audio-streaming


    【解决方案1】:

    我刚刚花了很多时间研究可以使用 AudioQueue 的实时音频内容,但它存在大约 100-200 毫秒的延迟问题。

    如果你想做类似 t-pain 应用程序,你必须使用

    • 远程IO API
    • 音频单元 API

    它们同样难以实现,所以我只会选择remote IO路径。

    来源可以在这里找到:

    http://atastypixel.com/blog/using-remoteio-audio-unit/

    【讨论】:

    • @madmik3 : 我可以使用 AudioQueue 来录制和播放吗??
    • 你可以,但它有我上面描述的延迟问题,你也可以像提供的链接一样使用 RemoteIO 音频单元 API。它们是在 iOS 中进行录制和播放的两种不同 API。
    • @madmik3: 哪个框架最好,在 ios 中启动音频通话。 AVtoolkit/AVFoundation 或其他一些
    • 抱歉,仍然不确定您要的是什么。能说清楚点吗?
    【解决方案2】:

    我已经对上面的答案投了赞成票,但我想添加一条我花了一段时间才弄清楚的信息。使用 AudioQueue 进行录制时,直观的概念是,无论样本数量代表多少,回调都会定期完成。这个想法是不正确的,AudioQueue 似乎收集了很长一段时间的样本,然后在非常快的回调迭代中传递它们。

    在我的例子中,我做了 20 毫秒的样本,每次回调接收 320 个样本。在打印出调用的时间戳时,我注意到一种模式:每 2 毫秒调用 1 次,然后在一段时间后调用约 180 毫秒。由于我在做 VoIP,这表现出接收端延迟增加的症状。切换到远程 I/O 似乎已经解决了这个问题。

    【讨论】:

      猜你喜欢
      • 2013-11-15
      • 2013-07-05
      • 2016-04-02
      • 2012-04-03
      • 2012-11-14
      • 1970-01-01
      • 1970-01-01
      • 2016-05-12
      • 1970-01-01
      相关资源
      最近更新 更多