Ios A音频通话模式开关音量差
我正在尝试将iOS 9和iOS 8的媒体播放与VoIP功能(via)结合起来。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
当音频流在后台播放时,我连接或断开语音会议会话,这会导致音量从值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,而输出始终是耳机