我正在使用AVPlayer
播放音频文件。
我实施了AVAudioSessionInterruptionNotification
。
AVAudioSession *session = [AVAudioSession sharedInstance];
NSError *errorInAudio = nil;
[session setActive:YES error:&errorInAudio];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(interruption:) name:AVAudioSessionInterruptionNotification object:nil];
[session setCategory:AVAudioSessionCategoryPlayback error:nil];
当应用处于前台(如语音控制)时出现中断时,它可以正常工作 但我在后台模式下制作应用程序并打开iPod播放器并开始播放。它的中断当时没有被调用,即使我的应用程序进入前台也是如此 可能是什么问题。请帮忙。
答案 0 :(得分:4)
如果您使用AVAudioPlayer
,则可以符合AVAudioPlayerDelegate
,那么您可以实施- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag
等方法
docs中列出了更多方法。
答案 1 :(得分:1)
要在AVPlayer
在后台中断时收到通知,您可以收听AudioSession的通知
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playerStopped) name:AVAudioSessionInterruptionNotification object:nil];