2009-06-19 31 views
2

我有以下簡單的代碼,播放聲音AVAudioPlayer只能在模擬器中播放,但不是爲什麼? (iPhone-SDK)

NSString *soundPath = [[NSBundle mainBundle] pathForResource:@"sound" ofType:@"wav"]; 
    player =[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath: soundPath] error:nil]; 
    player.volume = 1; 
    player.numberOfLoops = 0; 
[player prepareToPlay]; 
     [player play]; 

出於某種原因,這個代碼僅在模擬器玩,但不是設備,任何想法?


更新:實際上,我安裝了AvTouch,一個蘋果示例應用程序到3.0,並且doens't工作。 AVAudioPlayer有問題嗎?

+0

你有沒有解決這個問題?我有試圖播放wav文件的相同問題。 – Kinlan 2009-07-31 15:16:44

+0

當您不保留播放器時,可能會發生這種情況,將它保留在某處,當您獲得委託結束方法時將其丟棄, – bshirley 2012-02-03 00:00:13

回答

1

如果音頻文件使用的編解碼器在OS X上可用,但不在iPhone上,則可能會發生這種情況。當擴展名與文件的實際內容不匹配時也會導致這種情況。使用調試器並觀察調試控制檯的編解碼器錯誤,或使用afconvert將您的文件重新轉換爲支持的格式。

相關問題