硬件音量按钮会改变应用程序音量

时间:2013-02-13 23:37:28

标签: iphone ios objective-c cocos2d-iphone volume

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

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

希望它有意义

谢谢

2 个答案:

答案 0 :(得分:3)

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

这是一个难以解决的难题,因为用户没有被告知出了什么问题,很多时候都没有看到铃声音量正在被改变。

答案 1 :(得分:0)

使用MPVolumeView

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

MPVolumeView *volumeView = [[MPVolumeView alloc] initWithFrame:CGRectZero];
volumeView.showsRouteButton = NO;
volumeView.hidden = YES;
[self.window addSubview:volumeView];