有没有我可以听的通知,该通知会告诉我何时将iPhone的音量从调到

我知道AVSystemController_SystemVolumeDidChangeNotification,但必须仅在调高音量而不是调高音量时才触发通知。

其次,如何隐藏按下音量调高按钮时显示的半透明 View ,以显示系统的音量? Camera + 已实现此目的。

最佳答案

没有记录到此的方法,但是您可以使用此替代方法。注册AVSystemController_SystemVolumeDidChangeNotification通知并添加MPVolumeView,这将阻止显示系统卷 View 。

MPVolumeView *volumeView = [[MPVolumeView alloc] initWithFrame:CGRectMake(-100, 0, 10, 0)];
[volumeView sizeToFit];
[self.view addSubview:volumeView];

而且不要忘了开始音频 session
AudioSessionInitialize(NULL, NULL, NULL, NULL);
AudioSessionSetActive(true);

在这种情况下,MPVolumeView对用户隐藏了。

至于检查是否按下了增大或减小音量,只需获取当前应用程序的音量即可
float volumeLevel = [[MPMusicPlayerController applicationMusicPlayer] volume];

并在通知回调中按下按钮后将其与新音量进行比较

如果您不想自己做,可以在github中找到一个直接插入的类

https://github.com/blladnar/RBVolumeButtons

关于iphone - 检测iPhone音量按钮按下?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9660445/

10-13 06:07