2014-01-22 18 views
1

我已經遇到過無數次了。客戶給我發送一些.mp3s來投入項目。當我嘗試使用此代碼播放它們時:我在做什麼SKAction playSoundFileNamed錯誤,所以它會播放.wavs而不是.mp3s?

SKAction *play = [SKAction playSoundFileNamed:@"birds.mp3" waitForCompletion:NO]; 
     [self runAction:play]; 
[self runAction:play]; 

該應用程序給我一個例外,並在該行崩潰。

我拿了mp3,我把它轉換成.wav(在收割者),改變代碼加載,沒有問題,完美播放。我想也許原來的mp3有一些編碼的麻煩,所以我打開它收割者,重新出口是作爲一個新的MP3,仍然崩潰。

當它崩潰時,我看着堆棧跟蹤(我想我正在使用這個權利),它顯示了這一點,看起來它可能會遇到ID3的麻煩? Reaper確實使用LAME對mp3進行編碼,我不知道它是否不符合要求或什麼?任何人遇到這個?

0x187321a98: b  0x187321a54    ; ID3ParserHandle::ID3ParserHandle(void*, int (*)(void*, unsigned int, unsigned int, unsigned int, void**, unsigned int*)) + 492 

回答

1

這樣的事情比較常見。某些程序會創建非標準的音頻文件,而AVPlayer可能會遇到某些標準但不常用的文件容器或功能或壓縮格式的問題。

最簡單的修復方法是使用不同的程序重新編碼文件。例如,Audacity。在這種情況下,如果問題仍然存在,請確保從mp3中刪除任何ID3標籤(作者,專輯名稱等)。

相關問題