iOS 悦跑圈跑步过程中调节媒体音量,如何实现

新手上路,请多包涵

要实现悦跑圈跑步过程中始终调节媒体音量(前提系统设置中没有禁掉按钮调节系统音量),目前知道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];
这样是可以实现,但是频繁调用会导致AVAudioSession Error,播放延迟,有没有别的思路?

阅读 3.8k
1 个回答
新手上路,请多包涵

找到问题了,是我使用AudioSession错误,AudioSession对整个系统来说只有一个,在需要设置Active的时候需要判断是否有第三方音乐正在播放

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进