19

我在我的 iOS 应用程序中使用AudioSessionSetActive(true) 和AudioSessionSetActive(false) 将 设置为 true 或 false。AudioSession在任何时候,我都想知道会话是否处于活动状态。有没有办法做到这一点?

4

3 回答 3

7

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

于 2011-10-19T21:36:01.240 回答
5

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

于 2015-02-23T07:42:34.747 回答
4

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

BOOL isPlaying = [[AVAudioSession sharedInstance] isOtherAudioPlaying];
于 2018-09-08T01:23:35.850 回答