2012-10-12 53 views
0

我發現使用AVAudioFoundation應該是在objective-c上播放mp3最簡單的方法,但我不知道我在這裏做錯了什麼。設備或模擬器上都沒有聲音。我導入了框架和所有其他「正常」的東西,但它只是不玩。這段代碼有什麼問題?Objective-C - AVAudioPlayer

NSString *path = [[NSBundle mainBundle] pathForResource:@"DuomoDiFirenze" ofType:@"mp3"]; 
AVAudioPlayer *theAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL]; 
[theAudio prepareToPlay]; 
[theAudio play]; 
+0

不確定我在家使用哪個播放器,但有些功能無法在模擬器上正常工作,例如音量增大。我強烈建議在做音頻/視頻內容時跳過模擬器 – 2012-10-12 16:25:22

+0

正如我寫的,我也在設備上嘗試過,但它是一樣的。沒有聲音。我認爲問題不在於模擬器。 –

+0

如果我想知道什麼是錯誤,比我會設置一個錯誤,並將其提供給'initWithContentsOfURL:[NSURL fileURLWithPath:path]錯誤:'並且我會記錄它之後 – 2012-10-12 16:29:33

回答

1

你用ARC編譯嗎?如果是的話請確保保留對AVAudioPlayer實例的引用,否則ARC將確保爲您釋放它,並且音頻播放將立即停止。

+0

是的,我確實使用ARC。但是,「保持對AVAudioPlayer實例的引用」是什麼意思? NVM。我正在閱讀你對另一個答案的評論。 –

+0

例如,將其分配給屬性或實例變量。 –

+1

F ** k,現在它的工作原理:D 非常感謝! :d –