iPhone 上运行的 App 声音太小
Posted
技术标签:
【中文标题】iPhone 上运行的 App 声音太小【英文标题】:Sound of App running on iPhone too low 【发布时间】:2010-11-12 11:34:08 【问题描述】:我编写了一个可以在 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(4.1 版)
【问题讨论】:
【参考方案1】:您确定将音频路由到正确的扬声器吗?
UInt32 doChangeDefaultRoute = 1;
AudiosessionSetProperty (kAudioSessionProperty_OverrideCategoryDefaultToSpeaker, sizeof (doChangeDefaultRoute), &doChangeDefaultRoute);
【讨论】:
我们需要在每个实例都写这行代码,还是在某个地方一次写?【参考方案2】:对于 iOS7,AudioSessionSetProperty 已弃用。 Foundry 的以下帖子中的答案显示了如何为 iOS7 执行此操作:
https://***.com/a/18808124/1949877
【讨论】:
非常感谢您的提醒!以上是关于iPhone 上运行的 App 声音太小的主要内容,如果未能解决你的问题,请参考以下文章
Xcode 游戏声音可以在 sim 卡和 iPad 上播放,但不能在 iPhone 6 上播放
Flutter App 在模拟器(Iphone 12 mini)上完美运行,但在设备上崩溃(Iphone 8 plus)