只是一个简单的问题。
我已经将我的程序设置为能够播放AVAudioPlayer
and 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];
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)