设备locking时从iPod库中播放AVAudio

只是一个简单的问题。

我已经build立了我的程序能够在后台播放AVAudioPlayerAVPlayer ,这是工作正常。 我可以播放一首歌曲,locking我的屏幕,声音将继续播放。

我遇到的麻烦是调用[AVPlayer play]而我的屏幕已被locking。 这最终导致没有音乐被播放。

您需要告诉您的玩家倾听控制事件:

 - (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]; } } }