在iPhone上运行的应用程序的声音太低

我写了一个应用程序应该在iPad和iPhone上运行。 我正在使用AVAudioPlayer播放声音。 现在我遇到了音量级别的一些问题。

当在iPad上运行时,一切正常,声音的音量水平也很好,在iPad模拟器中运行也是如此。

当应用程序在iPhone上运行时出现问题:而iPhone模拟器中的音量水平正常,设备上的音量非常低。

以下是我在两台设备上使用的代码:

if (audioPlayerAtmo==nil) { NSString *filename = [NSString stringWithFormat:@"Atmo_%i", currentPage]; NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:filename ofType:@"mp3"]]; AVAudioPlayer *tempPlayer =[[AVAudioPlayer alloc] initWithContentsOfURL:url error:NULL]; tempPlayer.delegate = self; //NSLog(@"tempPlayer.volume: %f", [tempPlayer volume]); [tempPlayer setVolume:1.0f]; //NSLog(@"tempPlayer.volume: %f", [tempPlayer volume]); self.audioPlayerAtmo = tempPlayer; [tempPlayer release]; [audioPlayerAtmo play]; btAtmo.selected = YES; } else // player exists { // ... } 

有人有一个想法,为什么在iPhone上的水平如此之低,而在模拟器和iPad的一切都很好?

在此先感谢您的帮助。

技术数据:XCode 3.2.4 iPhone 4(Vers。4.1)

你确定你把audio路由到正确的扬声器吗?

 UInt32 doChangeDefaultRoute = 1; AudioSessionSetProperty (kAudioSessionProperty_OverrideCategoryDefaultToSpeaker, sizeof (doChangeDefaultRoute), &doChangeDefaultRoute); 

对于iOS7 AudioSessionSetProperty已弃用。 代工厂在下面的post中的答案显示了如何为iOS7做到这一点:

https://stackoverflow.com/a/18808124/1949877