要實現悅跑圈跑步過程中始終調節媒體音量(前提系統設定中沒有禁掉按鈕調節系統音量),目前知道AudioSession在整個跑步過程中SetActive為YES即可,但是第三方音樂(網易雲音樂)播放過程中會導致播放停止,使用[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback withOptions:AVAudioSessionCategoryOptionDuckOthers error:nil];
語音播放完畢在呼叫
[[AVAudioSession sharedInstance] setActive:NO
withOptions:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation
error:&error];
然後再呼叫 [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback withOptions:AVAudioSessionCategoryOptionMixWithOthers error:nil];
找到问题了,是我使用AudioSession错误,AudioSession对整个系统来说只有一个,在需要设置Active的时候需要判断是否有第三方音乐正在播放