方法一, 播放控制界面不可订制:
- 接收远程事件
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
注: 1) 如果结束远程事件控制, 需调用:endReceivingRemoteControlEvents
- 在
AppDelegate.m
中:
- 在
- (void)remoteControlReceivedWithEvent:(UIEvent *)event{
switch (event.subtype) {
case UIEventSubtypeRemoteControlPlay: // 播放
// 控制播放与暂停
break;
case UIEventSubtypeRemoteControlPause: // 暂停,不知啥时是这个值
case UIEventSubtypeRemoteControlStop: // 停止
break;
case UIEventSubtypeRemoteControlNextTrack: // 下一首
// 控制播放下一首
break;
case UIEventSubtypeRemoteControlPreviousTrack: // 上一首
// 控制播放上一首
break;
default:
break;
}
}
3.界面效果如下, 有3个按钮:上一首, 暂停/继续, 下一首:
方法二, 播放控制界面可以订制
- 只有 播放/暂停 按钮:
注: 1) 上述方法可以不调用: beginReceivingRemoteControlEvents
- 界面如下, 只有一个 播放/暂停 按钮:
- 如果用户切换暂停/恢复时,如果什么都不做,时间不对,因为系统会自动减少时长.
1)相关链接:
a. 原因: https://stackoverflow.com/questions/43282423/play-pause-and-elapsed-time-not-updating-in-ios-command-center-properly
b. 解决方法: https://stackoverflow.com/questions/11752370/mpnowplayinginfocenter-not-reacting-properly-when-pausing-playback?rq=1
- 如果用户切换暂停/恢复时,如果什么都不做,时间不对,因为系统会自动减少时长.