2012-03-05 70 views
0

我正在使用以下代碼在iOS中使用**AVAudioPlayer**類播放音頻。無法播放設備上的音頻(iOS)

NSString *audioPath = [[NSBundle mainBundle] pathForResource:@"myAudio" ofType:@"mp3"]; 
NSURL *audioURL = [[NSURL alloc] initFileURLWithPath:audioPath]; 
NSError *error; 
AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:audioURL error:&error]; 
audioPlayer.delegate = self; 
[audioPlayer prepareToPlay]; 
[audioPlayer play]; 

這在模擬器中工作正常。但是,當我在設備上運行它時,我沒有獲得聲音輸出。代理方法AVAudioPlayerDelegate也被調用,但沒有音量輸出。我在這裏錯在哪裏......我在這裏注意到的另一個重要方面是,我在模擬器上播放音頻文件時在我的GDB中收到了一條大消息。但同樣的事情沒有發生在設備上......請在模擬器上運行時參考下面的截圖以獲取GDB消息。

enter image description here

+0

這發生在我身上,當我在導入AVFoundation時不小心遺留了複選框。 – 2012-03-05 09:44:39

回答

0

我太笨了....我的音量按鈕已關閉。這是原因。

真的很抱歉浪費你的時間傢伙...我真誠的道歉。

0

檢查,如果你的設備是揚聲器模式或不..

聽聲音通過Loundspeaker使用 -

// set audio to loudSpeaker mode for iphone 
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker; 
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,sizeof (audioRouteOverride),&audioRouteOverride); 

,或者你可以增加你的音頻的音量使用此文件 -

Player.volume = 10.0; 
+0

如何檢查我的設備是否處於揚聲器模式? – 2012-03-05 14:05:24

+0

只需設置上述設置即可通過大聲揚聲器播放聲音。如果你的聲音在這個設置後播放,這意味着,聲音是通過麥克風之前..可能這會幫助你。 – 2012-03-06 04:51:14

0

有喲你試過.caf或.wav文件?可能有可能.mp3在iPhone上不起作用。同時檢查文件的持續時間不要超過30秒。