【发布时间】:2015-01-29 19:20:13
【问题描述】:
如何仅使用 AVAudioPlayer 或 AVPlayer 播放 PCM 数据/缓冲区?我知道,我可以通过将数据输入播放回调方法来使用 AudioUnit/AudioQueue 播放 PCM 数据/缓冲区。但不想这样做。
我在谷歌上搜索了很多,但找不到任何有用的答案或任何示例代码来做到这一点。任何帮助将不胜感激。
【问题讨论】:
标签: ios objective-c ios7 core-audio audiounit
如何仅使用 AVAudioPlayer 或 AVPlayer 播放 PCM 数据/缓冲区?我知道,我可以通过将数据输入播放回调方法来使用 AudioUnit/AudioQueue 播放 PCM 数据/缓冲区。但不想这样做。
我在谷歌上搜索了很多,但找不到任何有用的答案或任何示例代码来做到这一点。任何帮助将不胜感激。
【问题讨论】:
标签: ios objective-c ios7 core-audio audiounit
如果它对其他人有帮助,我正在回答我自己的问题。经过几天的不懈努力,我终于让它工作了。虽然以不同的方式。我在 RAW PCM 数据之上添加了一个 wav 标头信息,并保存了一个扩展名为 .wav 的文件。然后只需使用 AVAudioPlayer 或 AVPlayer 播放文件。在这里,您将在How to add playable(such as wav,wmv) header with PCM data/buffer in iOS 上获得完整的示例代码 哦。
【讨论】:
PCM 数据未指定可读格式,因此 AVPlayer 将无法播放。您必须将 PCM 数据保存为播放器支持的音频文件格式。
【讨论】: