【问题标题】:Hardware Volume buttons change in app volume硬件音量按钮更改应用程序音量
【发布时间】:2013-01-29 16:38:45
【问题描述】:

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

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

希望有意义

谢谢

【问题讨论】:

  • 你接受然后不接受我的回答? =P 我的解决方案不适合你吗?

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


【解决方案1】:

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

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

【讨论】:

  • 好的,我创建了一个 AVAudioSession,它可以改变应用程序的音量,但没有任何迹象表明它就像在带有扬声器的灰色框向您显示音量现在有多大之前没有显示我
  • 我不知道为什么会这样。我刚刚在我的应用程序上测试了它,我看到了指标。如果你有一个 MPVolumeView 就会出现这种情况,因为它只会显示它而不显示全局指示器。
  • 如果你能告诉我你是如何设置你的 AVAudioSession 的吗
【解决方案2】:

使用MPVolumeView

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-05
    • 1970-01-01
    • 2013-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多