remote-control
可以让用户通过外部接口控制应用程序音乐, 官方建议的做法是在View显示的时候接收remote-control事件
- - (void)viewDidAppear:(BOOL)animated
- {
- [super viewDidAppear:animated];
- [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
- [self becomeFirstResponder];
- }
然后在View消失的时候取消接收remote-control 事件
- - (void)viewWillDisappear:(BOOL)animated
- {
- [super viewWillDisappear:animated];
- [[UIApplication sharedApplication] endReceivingRemoteControlEvents];
- [self resignFirstResponder];
- }
还有一点,接收reomte-control的resp必须是first responder,所以要复写canBecameFirstResponder
- - (BOOL)canBecomeFirstResponder
- {
- return YES;
- }
另一简洁的方法是 , 派生UIWindow并复写它的- (void) remoteControlReceivedWithEvent: (UIEvent *) receivedEvent方法
- - (void) remoteControlReceivedWithEvent: (UIEvent *) receivedEvent {
-
- if (receivedEvent.type == UIEventTypeRemoteControl) {
-
- switch (receivedEvent.subtype) {
-
- case UIEventSubtypeRemoteControlTogglePlayPause:
- [self playOrStop: nil];
- break;
-
- case UIEventSubtypeRemoteControlPreviousTrack:
- [self previousTrack: nil];
- break;
-
- case UIEventSubtypeRemoteControlNextTrack:
- [self nextTrack: nil];
- break;
-
- default:
- break;
- }
- }
- }