从videoviewcontroller返回后停用avaudiosession

时间:2013-11-12 14:14:41

标签: ios objective-c avfoundation avaudiosession audiosession

我正在尝试在后台播放视频一切正常,视频播放并在后台正常暂停。但唯一的问题是每当我从我的回来 videoviewcontroller(播放到菜单的视图),视频仍然保留在后台,您可以将其视为Musicplayer位置。一旦我离开videoviewcontroller

,如何删除它

我试过了

    NSError *error;
    [[AVAudioSession sharedInstance] setActive:NO error:&error];

    NSLog(@"ERROR: %@", error); 

输出 错误:( null) 此代码会从背景中删除视频

 [[AVAudioSession sharedInstance] setCategory:nil error:nil];

但如果现在如果想再次播放视频则无法以后台模式播放

1 个答案:

答案 0 :(得分:0)

来自Apple的:AVAudioSession class documentation

它说

  

如果当前正在运行任何关联的音频对象(例如队列,转换器,播放器或录像机),则取消激活会话将失败。

因此,您需要在调用setActive之前停止所有/所有音频对象:否

在停止我的音频队列之前尝试执行此操作时遇到了类似的问题。 在mi的情况下,我使用的是外部音频库(Dirac),我之前只需要从这个库调用一个AudioQueueStop方法。