我使用了AVAudioPlayer
(而不是AVPlayer
)来实现音频播放器。我可以使用以下方法处理远程控制事件。目前它运行得很好,但是我还看到这些事件的两个更多的subtypes
: UIEventSubtypeRemoteControlEndSeekingForward
和UIEventSubtypeRemoteControlEndSeekingBackward
。
- (void)remoteControlReceivedWithEvent:(UIEvent *)event {
//if it is a remote control event handle it correctly
if (event.type == UIEventTypeRemoteControl)
{
if (event.subtype == UIEventSubtypeRemoteControlPlay)
{
[self playAudio];
}
else if (event.subtype == UIEventSubtypeRemoteControlPause)
{
[self pauseAudio];
}
else if (event.subtype == UIEventSubtypeRemoteControlTogglePlayPause)
{
[self togglePlayPause];
}
else if (event.subtype == UIEventSubtypeRemoteControlBeginSeekingBackward)
{
[self rewindTheAudio]; //this method rewinds the audio by 15 seconds.
}
else if (event.subtype == UIEventSubtypeRemoteControlBeginSeekingForward)
{
[self fastForwardTheAudio]; //this method fast-forwards the audio by 15 seconds.
}
}
所以问题是:
为了让事情正常工作,我是否应该也实现那两种子类型?
这种方法只能在锁定屏幕上启用
倒带
、播放/暂停
和快进
按钮,但它没有显示文件标题、艺术品和持续时间。如何使用AVAudioPlayer
或AVAudioSession
显示这些信息(我真的不想再实现另一个库/API)?2-a. 我在搜索时发现了
MPNowPlayingInfoCenter
,我对它不太了解。我是否必须使用它来实现上述内容?:-[