要使用這個功能很簡單,只要在 viewWillAppear 的時候宣到要接收 Remote Control 的事件
宣告如下:
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
這樣子就會開始接收到了,但是有開始必定有結束
所以結束時要在 viewDidDisappear 的時候宣告停止接收 Remote Control 的事件
宣告如下:
[[UIApplication sharedApplication] endReceivingRemoteControlEvents];
這樣子開始與結束接收 Remote Control 的事件都完成了
但是光是接收到事件是不夠的,還要做相對應的動作
這時候就要建立
- (void)remoteControlReceivedWithEvent:(UIEvent *)event這個 Method 來實作相對應的動作
但是這個 Method 的傳入值 event 有可能會是 Touch event 、Shake event
所以要先過濾掉,實作的內容如下
- (void)remoteControlReceivedWithEvent:(UIEvent *)event { if (event.type != UIEventTypeRemoteControl) return; switch (event.subtype) { case UIEventSubtypeRemoteControlTogglePlayPause: // 按下播放/暫停時的動作 break; case UIEventSubtypeRemoteControlNextTrack: // 按下下一首歌的動作 break; case UIEventSubtypeRemoteControlPreviousTrack: // 按下上一首歌的動作 break; case UIEventSubtypeRemoteControlBeginSeekingForward: // 長按下一首歌時開始快進的動作 break; case UIEventSubtypeRemoteControlEndSeekingForward: // 長按下一首歌時結束快進的動作 break; case UIEventSubtypeRemoteControlBeginSeekingBackward: // 長按上一首歌時開始快退的動作 break; case UIEventSubtypeRemoteControlEndSeekingBackward: // 長按上一首歌時結束快退的動作 break; default: break; } }
完成上面的實作後,這時候就可以按照你的播放器的作法放入相對應的動作了
另外現在只有在這個播放器的畫面下 Remote Control 才有作用
如果想不在播放器的畫面下時 Remote Control 也要有作用的話
我是建議將它實作到 appDelegate.m 裡面
不過要如何將那些動作傳入到播放器的畫面下?
這就要自己想想摟,這次的教學就到這邊,下次再見了
沒有留言:
張貼留言