1

因此,在我的应用程序中,我想通过使用硬件按钮来更改应用程序内的音量级别以进行警报,但是每当我使用按钮调高或调低音量时,它只会更改“铃声”音量,这不会影响我的在应用程序中。

在“设置”->“声音”下,“使用按钮更改”开关处于打开状态,如果我将其关闭,一切正常,但大多数用户也希望将其打开。因此,当我在我的应用程序中时,我希望音量按钮更改应用程序音量而不是铃声音量。

希望有意义

谢谢

4

2 回答 2

3

默认情况下,硬件按钮将更改警报音量,除非您在使用按钮时打开音频会话。我建议打开一个 AVAudioSession 让他们改变它,或者在你的应用程序的某个地方放置一个音量滑块让他们改变音量。

这是一个很难完美解决的问题,因为用户没有被告知哪里出了问题,而且很多时候也看不到铃声音量正在被改变。

于 2013-02-13T23:51:48.033 回答
0

使用MPVolumeView

如果您添加一个(MPVolumeViewUIWindow可以将其隐藏),MPVolumeView它将自动为您接管硬件按钮。硬件按钮现在将影响您的应用程序的音量级别,而不是系统的。

MPVolumeView *volumeView = [[MPVolumeView alloc] initWithFrame:CGRectZero];
volumeView.showsRouteButton = NO;
volumeView.hidden = YES;
[self.window addSubview:volumeView];
于 2013-02-14T00:14:01.317 回答