在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做到这一点: