我正在我的iPad上播放一些简短的声音,如:Play a short sound in iOS
我正在使用一个caf文件,我可以成功地从查找器播放。现在,我经历了相当多的麻烦,试图实现声音的回放,我很好奇,我似乎不明白的问题是什么:
viewDidLoad中初始化它时,我设法播放声音,但只在iPad上播放,而不是在SystemSoundID不同,我还可以使用AVAudioPlayer来播放.wav文件,该文件然后在iPad和模拟器上都能工作,但是这里我需要在viewDidLoad中创建AVAudioPlayer,否则,如果我一次完成所有操作,就不会得到任何声音。目前最好的选择似乎是Option 3,因为它在模拟器和iPad上都能工作,但是由于我需要预先初始化播放器,我需要一个AVAudioPlayer实例来处理我想要播放的每一个不同的声音,这似乎不是很好的内存.
是否有什么是我缺少的,是否可以使用AudioToolbox框架(选项1和选项2)在两个平台上播放声音?
发布于 2012-05-02 16:18:44
我写了一个库来简化这一切。它封装了AVAudioPlayer,并且在设备和模拟器上都工作得很好。
https://github.com/nicklockwood/SoundManager
代码相当简单,虽然我做了一些半聪明的东西来初始化音频播放器。如果不想使用库,只需复制代码即可。
不过,这是一个警告--当您使用AVAudioPlayer时,模拟器会在内部抛出一些奇怪的异常。它们根本不影响应用程序,但是如果你在Xcode中启用了中断异常,那么在启动过程中,应用程序会出现在调试器中几次,你将不得不手动恢复,如果你没有预料到的话,这可能会吓到你。
https://stackoverflow.com/questions/10351199
复制相似问题