我正在尝试播放我在Objective-C中创建的示例音频值的 NSArray 。我已经生成了没有问题的值,但是如何通过iPhone播放它们呢?
由于
答案 0 :(得分:1)
将值从NSArray复制到适当缩放的PCM样本的C数组中。然后,您可以通过预先添加RIFF标头并使用AVAudioPlayer播放此文件将此数组转换为WAV文件,或者您可以直接将PCM样本输入音频回调中的音频队列或RemoteIO音频单元的C数组缓冲区。
答案 1 :(得分:1)
我建议将NSArray转换为NSData对象,然后使用AVAudioPlayer方法initWithData:error:
(see here)加载为可播放的音频。 AVAudioPlayer具有与音频队列和音频单元方法相关的极其简单的优点。
如何将NSArray转换为NSData取决于样本的类型(this SO post可能会知道如何做到这一点,尽管NSKeyedArchiver归档过程可能会搞乱您的样本)。我建议,如果你的样本生成过程允许,只需将样本创建到NSData对象中并跳过这样的转换。