Ios A音频通话模式开关音量差

Ios A音频通话模式开关音量差,ios,iphone,cocoa-touch,twilio,avaudiosession,Ios,Iphone,Cocoa Touch,Twilio,Avaudiosession,我正在尝试将iOS 9和iOS 8的媒体播放与VoIP功能(via)结合起来。当音频流在后台播放时,我连接或断开语音会议会话,这会导致音量从值X跳到值Y。可以听到并通过[AVAudioSession sharedInstance]观察到这种跳变.outputVolume值更改。除非用户手动决定更改,否则我希望防止此跳转并将音量保持在恒定水平。进一步的调查显示,虽然AVAudioSession的类别设置为AVAudioSessionCategoryPlayAndRecord,但在模式之间切换[[A

我正在尝试将iOS 9和iOS 8的媒体播放与VoIP功能(via)结合起来。

当音频流在后台播放时,我连接或断开语音会议会话,这会导致音量从值X跳到值Y。可以听到并通过
[AVAudioSession sharedInstance]观察到这种跳变.outputVolume
值更改。

除非用户手动决定更改,否则我希望防止此跳转并将音量保持在恒定水平。


进一步的调查显示,虽然AVAudioSession的类别设置为AVAudioSessionCategoryPlayAndRecord,但在模式之间切换
[[AVAudioSession sharedInstance]设置模式:AvaudioSessionMode默认错误:&error]


[[AVAudioSession sharedInstance]设置模式:AVAudioSessionModeVoiceChat错误:&error]

分别导致应用程序在两个完全独立的音量范围内运行。
即存在一个用于“默认”模式的音量还有一个与模式“语音聊天”完全无关的音量。

似乎忽略了与模式/类别切换相关的音量,我在互联网上找不到任何相关内容


感谢您的帮助。

这里是Twilio的梅根

我对iOS SDK不太熟悉,但您应该能够从
TCDevice
参数
incomingSoundEnabled
outgoingSoundEnabled
disconnectSoundEnabled
控制连接音频

否则,我建议查看Twilio SDK调用的AVAudioSession的
sharedInstance
属性,如下所示:

setCategory:错误:

setActive:错误:

overrideOutputAudioPort:错误:


请让我知道这是否有帮助。

在设置播放和录制类别时,将
AVAudioSessionCategoryOptionDefaultToSpeaker作为选项传递:

[[AVAudioSession sharedInstance] AVAudioSessionCategoryPlayAndRecord withOptions: AVAudioSessionCategoryOptionDefaultToSpeaker error:&error];

这将覆盖默认的播放和录制行为,即从扬声器切换到更安静的接收器。原因是播放和录制是为电话设计的,您可以将电话举到耳朵上&大概不想让您的听力被响亮的声音损坏。

Megan,谢谢,但这不是问题所在我正在寻找。incomingSoundEnabled/outgoingSoundEnabled只是蜂鸣音开/关属性。在我的情况下,当Twilio连接时,整个会话的音量会改变并保持不变,直到Twilio断开连接。我不认为这种行为是Twilio特有的。我可以通过调用“setMode”o来重现这种双音量情况n音频会话。我希望了解其背后的原因,以及如何在使用“设置模式”播放时保持音量恒定。这可以解释音量差异,但我是否可以以某种方式强制音量恒定?假设我在播放中,从开始录制时,我从ModeDefault切换到ModeVoiceChat,而输出始终是耳机