如何将系统音量用于声音?

时间:2013-12-16 10:55:08

标签: ios objective-c

我正在使用以下代码在我的应用中播放声音:

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;

但这个硬编码量。如何检索系统音量并将其设置为我的声音,以便用户可以正确调整音量?

1 个答案:

答案 0 :(得分:2)

您在播放机上设定的音量和系统音量是独立的。

就像你在自己喜欢的视频播放器中观看电影一样。它具有可设定的音量。尽管如此,您还可以使用系统音量(在您的系统托盘中),您可以从视频播放器音量中独立

如果系统音量为50%且播放器音量也为50%,则声音比两者均为100%弱4倍。

结论:如果您的播放器设置为100%且系统音量为0%,那么......静音。这是一个很好的用例。因为如果应用程序可以访问系统卷,当我接到电话时,我需要转到每个应用程序并将声音级别设置为0:D

相关问题