只是一个快速的问题。
我已经建立了我的程序能够发挥AVAudioPlayer
和AVPlayer
的背景下,这是工作的罚款。 我可以播放一首歌曲,锁定我的屏幕和声音将继续发挥。
我遇到了有关呼吁麻烦[AVPlayer play]
,而我的屏幕已经被锁定。 这最终导致没有正在播放的音乐。
只是一个快速的问题。
我已经建立了我的程序能够发挥AVAudioPlayer
和AVPlayer
的背景下,这是工作的罚款。 我可以播放一首歌曲,锁定我的屏幕和声音将继续发挥。
我遇到了有关呼吁麻烦[AVPlayer play]
,而我的屏幕已经被锁定。 这最终导致没有正在播放的音乐。
你需要告诉您的播放器监听控制事件:
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[self becomeFirstResponder];
}
- (BOOL)canBecomeFirstResponder {
return YES;
}
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
[[UIApplication sharedApplication] endReceivingRemoteControlEvents];
[self resignFirstResponder];
}
然后你就可以对他们像这样:
- (void)remoteControlReceivedWithEvent:(UIEvent *)event {
if (event.type == UIEventTypeRemoteControl)
{
if (event.subtype == UIEventSubtypeRemoteControlPlay)
{
[AVPlayer play];
}
else if (event.subtype == UIEventSubtypeRemoteControlPause)
{
[AVPlayer pause];
}
else if (event.subtype == UIEventSubtypeRemoteControlTogglePlayPause)
{
if (!AVPlayer.playing)
{
[AVPlayer play];
} else if (AVPlayer.playing)
{
[AVPlayer pause];
}
}
else if (event.subtype == UIEventSubtypeRemoteControlNextTrack)
{
[self myNextTrackMethod];
}
else if (event.subtype == UIEventSubtypeRemoteControlPreviousTrack)
{
[self myLastTrackMethod];
}
}
}