我正在尝试将媒体播放与VoIP功能(通过Twilio)结合在iOS 9和8上。
当音频流在后台播放时,我连接或断开语音会议,这会导致音量从值X跳到值Y。可以听到这种跳跃,并通过
[AVAudioSession sharedInstance].outputVolume
值的变化进行观察。我想防止这种跳跃,并保持音量恒定,除非用户手动决定更改它。
进一步调查显示,当AVAudioSession的类别设置为AVAudioSessionCategoryPlayAndRecord时,在模式之间切换
[[AVAudioSession sharedInstance] setMode:AVAudioSessionModeDefault error:&error]
和
[[AVAudioSession sharedInstance] setMode:AVAudioSessionModeVoiceChat error:&error]
会导致应用程序在两个完全独立的音量范围内运行。
即有一个用于“默认”模式的音量,以及一个与之完全无关的用于“语音聊天”模式的音量。
AVAudioSession的文档似乎没有提到与模式/类别切换相关的音量问题,我在互联网上找不到任何相关信息...
感激任何帮助。