我正在使用 AVAudioPlayer 从我的应用程序的 Documents 目录中播放单声道 AIFF 文件。
在模拟器上,[player play] 返回 YES,我听到文件正在播放。在设备上,播放方法返回 NO 并且没有任何反应。我通过 Organizer 抓取了该文件——它在我的 Mac 上可以正常播放,而且格式似乎很好。我意识到模拟器可以访问 iPhone 上不可用的编解码器,但在这种情况下应该没关系,不是吗?
我不知道如何调试它。有什么建议么?
我正在使用 AVAudioPlayer 从我的应用程序的 Documents 目录中播放单声道 AIFF 文件。
在模拟器上,[player play] 返回 YES,我听到文件正在播放。在设备上,播放方法返回 NO 并且没有任何反应。我通过 Organizer 抓取了该文件——它在我的 Mac 上可以正常播放,而且格式似乎很好。我意识到模拟器可以访问 iPhone 上不可用的编解码器,但在这种情况下应该没关系,不是吗?
我不知道如何调试它。有什么建议么?
我在 Apple 的论坛上问了这个问题,有人问我是否激活了音频会话。我没有,这样做解决了我的问题。
确保您不使用音频文件的绝对路径。当您移动到设备时,路径会发生变化。您需要使用标准方法获取文档文件夹的路径,然后将相对路径添加到您的音频文件。这样,无论硬件或其他更改如何,您都可以获得正确的路径。
创建音频播放器的委托,并覆盖-audioPlayerDecodeErrorDidOccur:error:
以查看是否发生任何错误。