Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何确定音频会话在iOS中是否处于活动状态_Ios_Session State_Audiosession_Audiosessionservices - Fatal编程技术网

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

如何确定音频会话在iOS中是否处于活动状态,ios,session-state,audiosession,audiosessionservices,Ios,Session State,Audiosession,Audiosessionservices,我正在使用AudioSessionSetActive(true)和AudioSessionSetActive(false)将iOS应用程序中的AudioSession设置为true或false。 在任何时候,我都想知道会话是否处于活动状态。有办法吗?刚刚遇到了同样的事情!没有用于查询会话是否处于活动状态的AudioSessionProperty键。我相信这是苹果认为应用程序应该以某种方式运行的另一种“置其于不顾”的交易。大多数应用不需要知道状态,只要在需要音频时设置它,在播放音频时无条件地终止它

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

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

您可以在启动应用程序时检查
otherAudioPlaying
属性,检查是否有其他应用程序启动时播放的音频。
对于内部跟踪,您可以在执行
AudioSessionSetActive(BOOL setActive)
调用时使用布尔值。尽管使用BOOL听起来并不是一个好方法。根据我目前的知识,我找不到任何其他方法来确定音频会话是否处于活动状态。

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

BOOL isPlaying = [[AVAudioSession sharedInstance] isOtherAudioPlaying];