iPhone 音量更改事件的音量已经达到最大值

Posted

技术标签:

【中文标题】iPhone 音量更改事件的音量已经达到最大值【英文标题】:iPhone volume changed event for volume already max 【发布时间】:2010-06-27 22:08:29 【问题描述】:

我正在使用

AudiosessionAddPropertyListener(kAudioSessionProperty_CurrentHardwareOutputVolume, audioVolumeChangeListenerCallback, self);

检测音量变化,这样我就可以用音量摇杆拍照,但如果手机已经处于 100%,我不会收到任何事件。当音量实际上没有改变时,有没有办法检测音量摇杆被按下?

【问题讨论】:

【参考方案1】:

我找到了一个很好的答案,完整的源代码here:

当用户在您的应用中按下音量按钮时,您不希望 改变系统音量。让他们服用会很糟糕 图片并把他们的铃声音量调高什么的。

那我该怎么做呢?这很 hacky,但它确实有效。

【讨论】:

【参考方案2】:

您可以在按下音量按钮拍照后调低音量。这样,音量永远不会达到 100%,您可以继续收到回调。确保通过单次按下音量按钮将音量降低超过音量变化。

您需要小心使用某种方法来防止同时收到多个通知,但如果您每次“按下按钮”只拍摄一张照片,您可能已经这样做了。

我想我会在我的应用程序中实现这个功能(不认为它是必需的,但现在我喜欢这个想法),如果我能工作,我会发布一些代码,让我知道你的工作也一样。

【讨论】:

以上是关于iPhone 音量更改事件的音量已经达到最大值的主要内容,如果未能解决你的问题,请参考以下文章

如何在不更改声音指示器的情况下在 iOS 中以最大音量播放声音文件

在应用内调整音量

检测音量按钮即使在音量最大时按下

更改 Android 音量条

bzoj P2748

Chromecast 获取音量