【问题标题】:How to play PCM data/buffer just using AVAudioPlayer or AVPlayer?如何仅使用 AVAudioPlayer 或 AVPlayer 播放 PCM 数据/缓冲区?
【发布时间】:2015-01-29 19:20:13
【问题描述】:

如何仅使用 AVAudioPlayer 或 AVPlayer 播放 PCM 数据/缓冲区?我知道,我可以通过将数据输入播放回调方法来使用 AudioUnit/AudioQueue 播放 PCM 数据/缓冲区。但不想这样做。

我在谷歌上搜索了很多,但找不到任何有用的答案或任何示例代码来做到这一点。任何帮助将不胜感激。

【问题讨论】:

    标签: ios objective-c ios7 core-audio audiounit


    【解决方案1】:

    如果它对其他人有帮助,我正在回答我自己的问题。经过几天的不懈努力,我终于让它工作了。虽然以不同的方式。我在 RAW PCM 数据之上添加了一个 wav 标头信息,并保存了一个扩展名为 .wav 的文件。然后只需使用 AVAudioPlayer 或 AVPlayer 播放文件。在这里,您将在How to add playable(such as wav,wmv) header with PCM data/buffer in iOS 上获得完整的示例代码 哦。

    【讨论】:

    • 有没有办法在外部设置 AVAudioPlayer 格式,然后只写入 PCM 样本? Android 有类似 AudioTrack 类的东西...
    【解决方案2】:

    PCM 数据未指定可读格式,因此 AVPlayer 将无法播放。您必须将 PCM 数据保存为播放器支持的音频文件格式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-05
      • 1970-01-01
      • 1970-01-01
      • 2021-07-02
      • 2018-10-07
      • 2015-03-15
      • 2013-08-22
      • 2018-11-06
      相关资源
      最近更新 更多