【发布时间】:2011-11-30 12:08:58
【问题描述】:
我使用AudioSessionSetActive(true) 和AudioSessionSetActive(false) 在我的iOS 应用程序中将AudioSession 设置为true 或false。
在任何时候,我都想知道会话是否处于活动状态。有没有办法做到这一点?
【问题讨论】:
标签: ios session-state audiosession audiosessionservices
我使用AudioSessionSetActive(true) 和AudioSessionSetActive(false) 在我的iOS 应用程序中将AudioSession 设置为true 或false。
在任何时候,我都想知道会话是否处于活动状态。有没有办法做到这一点?
【问题讨论】:
标签: ios session-state audiosession audiosessionservices
刚刚遇到同样的事情!没有用于查询会话是否处于活动状态的 AudioSessionProperty 键。我相信这是另一个设置它并忘记它的交易,Apple 认为应用程序应该以某种方式运行。例如。大多数应用程序不需要知道他们应该设置它的状态,因为他们需要音频并在完成播放音频时无条件地终止它。当然,这只适用于 90%。道歉,因为这不是最好的答案,我只是报告我的怀疑。也许其他人有更好的主意?
【讨论】:
您可以通过在启动应用程序时检查otherAudioPlaying 属性来检查其他应用程序启动时是否正在播放任何音频。
对于内部跟踪,也许您可以在调用 AudioSessionSetActive(BOOL setActive) 时使用布尔值。虽然使用 BOOL 听起来不是一个很好的方法。根据我目前的知识,我找不到任何其他方法来确定 AudioSession 是否处于活动状态。
【讨论】:
您可以使用此 api 来确定 iOS 中的音频会话是否处于活动状态。
BOOL isPlaying = [[AVAudioSession sharedInstance] isOtherAudioPlaying];
【讨论】: