无法播放设备上的音频(iOS)

问题描述:

我正在使用以下代码在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

我太笨了....我的音量按钮已关闭。这是原因。

真的很抱歉浪费你的时间家伙...我真诚的道歉。

检查,如果你的设备是扬声器模式或不..

听声音通过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

有哟你试过.caf或.wav文件?可能有可能.mp3在iPhone上不起作用。同时检查文件的持续时间不要超过30秒。