gpt4 book ai didi

ios - AVAudioSession模式切换音量差异

转载 作者:行者123 更新时间:2023-12-03 19:49:26 25 4
gpt4 key购买 nike

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

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

我想防止这种跳跃并将音量保持在恒定水平,除非用户手动决定更改它。

进一步调查表明,虽然 AVAudioSession 的类别设置为 AVAudioSessionCategoryPlayAndRecord,在模式之间切换
[[AVAudioSession sharedInstance] setMode:AVAudioSessionModeDefault error:&error]

[[AVAudioSession sharedInstance] setMode:AVAudioSessionModeVoiceChat error: &error]
导致应用程序分别在两个完全独立的音量范围内运行。
即模式“默认”有一个音量,而“语音聊天”模式有一个完全不相关的音量。< br/>
AVAudioSession's documentation似乎省略了任何与模式/类别开关相关的音量提及,我在互联网上找不到任何相关内容...

感谢任何帮助。

最佳答案

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

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

这会覆盖从扬声器切换到安静得多的接收器的默认播放和录制行为。原因是播放和录音是为电话设计的,您会将电话放在耳边,并且可能不希望您的听力被大声损坏。

关于ios - AVAudioSession模式切换音量差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34363016/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com