如何仅使用 AVAudioPlayer 或 AVPlayer 播放 PCM data/buffer?

How to play PCM data/buffer just using AVAudioPlayer or AVPlayer?

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

我在 google 上搜索了很多,但找不到任何有用的答案或任何示例代码来执行此操作。任何帮助将不胜感激。

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

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