有没有我可以听的通知,该通知会告诉我何时将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/