我在我的iPad应用程序中使用MPMoviePlayer实现了一个视频播放器,使用MPVolumeView进行音量控制.我的问题是,当我滚动音量视图调整音量时,显示设备的音量hud叠加,如下面的屏幕截图所示.
如何禁用此系统音量指示器hud?我的代码是:
@property (weak, nonatomic) IBOutlet MPVolumeView *playbackMPVolumeView;
//Customizing controller
- (void)customizeVolumeController
{
_playbackMPVolumeView.showsRouteButton = YES;
_playbackMPVolumeView.showsVolumeSlider = YES;
[_playbackMPVolumeView setVolumeThumbImage:[UIImage imageNamed:@"volume_slider_thumb.png"] forState:UIControlStateNormal];
}
Run Code Online (Sandbox Code Playgroud) 未调用音量按钮通知功能.
码:
func listenVolumeButton(){
// Option #1
NSNotificationCenter.defaultCenter().addObserver(self, selector: "volumeChanged:", name: "AVSystemController_SystemVolumeDidChangeNotification", object: nil)
// Option #2
var audioSession = AVAudioSession()
audioSession.setActive(true, error: nil)
audioSession.addObserver(self, forKeyPath: "volumeChanged", options: NSKeyValueObservingOptions.New, context: nil)
}
override func observeValueForKeyPath(keyPath: String, ofObject object: AnyObject, change: [NSObject : AnyObject], context: UnsafeMutablePointer<Void>) {
if keyPath == "volumeChanged"{
print("got in here")
}
}
func volumeChanged(notification: NSNotification){
print("got in here")
}
Run Code Online (Sandbox Code Playgroud)
listenVolumeButton()
正在viewWillAppear中调用
"got in here"
在任何一种情况下,代码都没有进入print语句.
我正在尝试两种不同的方法来实现它,两种方式都不起作用.
我跟着这个:检测iPhone音量按钮向上按?