2

我已经阅读了正弦波发生器的音频单元教程并阅读了一些内容,我基本上了解它是如何工作的。我真正想为我的应用程序做的是播放一个简短的声音文件以响应一些外部事件。这些声音的持续时间大约为 1-2 秒,并以大约每秒 1-2 次的速率发生。

基本上我现在所处的位置是试图弄清楚如何使用我的音频单元播放实际的音频文件,而不是生成正弦波。所以基本上我的问题是,如何让音频单元播放音频文件?

我是否只是将音频文件中的字节读入渲染回调中的缓冲区?(如果是这样,我需要处理什么类来打开/转换/解压缩/读取音频文件)

还是有一些更简单的方法可以让我把整个缓冲区交给我并告诉它播放?

我需要查看任何特定类或 API 的名称来完成此操作将非常有帮助。

4

2 回答 2

3

好的,检查一下:http: //developer.apple.com/library/ios/samplecode/MixerHost/Introduction/Intro.html

编辑:这是一个示例项目。此页面包含用于设置常用配置的内联代码的详细说明:http: //developer.apple.com/library/ios/ipad/#DOCUMENTATION/MusicAudio/Conceptual/AudioUnitHostingGuide_iOS/ConstructingAudioUnitApps/ConstructingAudioUnitApps.html#//apple_ref/doc/ uid/TP40009492-CH16-SW1

于 2012-07-07T03:44:35.210 回答
1

如果您不介意绑定到 IOS 5+,您应该查看 AUFilePlayer。使用回调要容易得多,而且您不必担心设置自己的环形缓冲区(如果您想避免在启动时将所有音频数据加载到内存中,则需要这样做)

于 2012-07-18T02:04:22.937 回答