要實現悅跑圈跑步過程中始終調節媒體音量(前提系統設定中沒有禁掉按鈕調節系統音量),目前知道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的時候需要判斷是否有第三方音樂正在播放