2010-02-04 73 views
4

我正在使用AVAudioPlayer從我的應用程序的Documents目錄播放單聲道AIFF文件。如何調試AVAudioPlayer播放失敗?

在模擬器上,[播放器播放]返回YES,我聽到播放的文件。在設備上播放方法返回NO並沒有任何反應。我通過組織者抓取了文件 - 它在我的Mac上播放得很好,似乎格式良好。我意識到模擬器可以訪問iPhone上不可用的編解碼器,但在這種情況下,這應該無關緊要嗎?

我不知道如何調試。有什麼建議麼?

回答

2

我在Apple的論壇上問過這個問題,有人問我是否已經激活了音頻會話。我沒有,並且這樣做解決了我的問題。

+0

對於其他遇到此問題的人,請參閱:http://stackoverflow.com/a/8415802/1029114 – Brainware 2017-03-25 18:14:08

0

創建一個委託給音頻播放器,並覆蓋-audioPlayerDecodeErrorDidOccur:error:以查看是否有錯誤發生。

+0

我應該提到我已經這樣做了。它永遠不會被調用。由於[玩家遊戲]正在返回0,我懷疑它從來沒有那麼遠。 – Calhoun 2010-02-04 18:18:16

0

確保您不使用音頻文件的絕對路徑。當您移動到設備時,路徑會改變。您需要使用標準方法獲取文檔文件夾的路徑,然後將相對路徑添加到音頻文件。這樣,無論硬件或其他更改如何,您都可以獲得正確的路徑。

+0

感謝您的建議。但我的確在動態獲取路徑。該文件是由應用程序錄制的(使用Audio Queue API),並且我確認用於錄製和播放的路徑是相同的。 – Calhoun 2010-02-04 18:22:16