如何在自己的应用程序中使用锁屏iPod控件?
我尝试了MPNowPlayingInfoCenter,但是如果我设置信息,它不会显示在任何地方;不在锁定屏幕上,也不在AppleTV上的Airplay。
我使用AVPlayer播放我的音频文件。
如何在自己的应用程序中使用锁屏iPod控件?
我尝试了MPNowPlayingInfoCenter,但是如果我设置信息,它不会显示在任何地方;不在锁定屏幕上,也不在AppleTV上的Airplay。
我使用AVPlayer播放我的音频文件。
请查看多媒体远程控制文档。
以下是在UIViewController
子类中监听远程控制事件的方法。首先,使您的控制器参与响应者链,否则事件将转发给应用程序委托:
- (BOOL)canBecomeFirstResponder
{
return YES;
}
如果合适的话,告诉应用程序开始接收事件,并将您的控制器设置为第一响应者:
// maybe not the best place but it works as an example
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[self becomeFirstResponder];
}
然后回复他们:- (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;
}
}
}
UIViewController
可以参与响应者链,但只有在重写-(BOOL)canBecomeFirstResponder
以返回YES
之后才能参与。请参见我的编辑。 - Ryder Mackay