如何确定iOS中的音频会话是否处于活动状态

时间:2011-10-04 08:34:16

标签: ios session-state audiosession audiosessionservices

我正在使用AudioSessionSetActive(true)和AudioSessionSetActive(false)在我的iOS应用中将AudioSession设置为true或false。 在任何时候,我想知道会话是否有效。有没有办法做到这一点?

3 个答案:

答案 0 :(得分:2)

刚遇到同样的事情!没有AudioSessionProperty键用于查询会话是否处于活动状态。我相信这是另外一个设置它并忘记它处理苹果认为应用程序应该以某种方式运行的地方。例如。大多数应用程序不需要知道他们应该设置它的状态,因为他们需要音频并无条件地杀死它,因为它们完成播放音频。当然这仅适用于90%。抱歉,这不是最好的答案,我只是报告我的怀疑。也许其他人有更好的主意?

答案 1 :(得分:2)

通过在启动应用时检查otherAudioPlaying属性,您可以检查其他应用启动的音频是否正在播放。 对于内部跟踪,您可以在执行AudioSessionSetActive(BOOL setActive)调用时使用布尔值。虽然使用BOOL听起来不是一个很好的方法。鉴于我目前的知识,我找不到任何其他方法来确定AudioSession是否有效。

答案 2 :(得分:0)

您可以使用此api来了解音频会话在iOS中是否处于活动状态。

BOOL isPlaying = [[AVAudioSession sharedInstance] isOtherAudioPlaying];