5

我正在播放音频文件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 播放器并开始播放。当时并没有调用它的中断,即使我的应用程序进入前台也是如此。
可能是什么问题。请帮忙。

4

2 回答 2

4

如果你使用AVAudioPlayer你可以遵循,AVAudioPlayerDelegate那么你可以实现类似的方法- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag

文档中列出的更多方法。

于 2013-03-19T15:30:36.337 回答
1

AVPlayer在后台中断时收到通知,您可以收听 AudioSession 的通知

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playerStopped) name:AVAudioSessionInterruptionNotification object:nil];
于 2015-05-06T13:10:58.060 回答