我正在使用以下代码在应用程序中播放声音:
NSString *soundFilePath = [NSString stringWithFormat:@"%@/samsung_whistle.mp3", [[NSBundle mainBundle] resourcePath]];
NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath];
AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL:soundFileURL error:nil];
player.numberOfLoops = 0;
[player play];
这似乎可行,但是当我设置系统音量(使用设备上的硬件按钮)时,对我的声音没有任何影响。如果我一直将音量调到最低(因此设备显示“声音已关闭”),我仍然可以听到声音。而且,如果我将音量一直调到最高,我的声音将不会响起。
我知道我可以用
player.volume = someFloatBetween0And1;
但这会硬编码该卷。如何获取系统声音音量并为其设置声音,以便用户可以适当调整音量?
您在播放器上设置的音量和系统音量是独立的。
就像在您喜欢的视频播放器中观看电影时一样。它具有可设置的音量。尽管如此,您仍然可以独立于视频播放器音量设置系统音量(也许在系统托盘中)。
如果系统音量为50%,并且播放器的音量也为50%,则声音的音量是100%时的4倍。
结论:如果您的播放器设置为100%,系统音量为0%,则...保持静音。这是一个很好的用例。因为如果应用程序可以访问系统音量,当我接到电话时,我需要转到每个应用程序,并将织补声级设为0:D
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句