gpt4 book ai didi

ios - 使用AVAudioSession在iOS 13上的Voip session 上使机器人声音失真

转载 作者:行者123 更新时间:2023-12-01 16:19:50 26 4
gpt4 key购买 nike

我在使用AVAudioSession的 session 应用程序(无 call )中使用WebRTC(真正的旧存储库)语音引擎。
通过iPhone扬声器听到时,其他正在说话的人的声音失真。在通过蓝牙连接的iPhone听筒和其他外部扬声器上,声音很好。但当

success = [session overrideOutputAudioPort:AVAudioSessionPortOverrideSpeaker error:&error];
被 call 时,声音变得失真并且变得机器人化。
以下是AVAudioSession代码:
success = [session setCategory:AVAudioSessionCategoryPlayAndRecord 
withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker |
AVAudioSessionCategoryOptionAllowBluetooth error:&error];

[session setMode: AVAudioSessionModeVoiceChat error:&error];
有人遇到过这个问题吗?任何帮助表示赞赏。
语音数据包通过以下方式发送给驱动程序:
webrtc::VoENetwork  *veNetwork; // Declaration

// Send this chunk of data to the GIPS driver. (C++ code)
int error = veNetwork->ReceivedRTPPacket(chnl,packetData.getCurrent(),size);

最佳答案

效果很酷! listening听了之后我有了一个理论。我认为您正在播放来自未压缩立体声轨道(解释为单声道)的数据。也就是说,从左右轨道(LRLRLRLR ...)交错的采样都通过一个扬声器播放,就好像这些采样已记录为单声道一样。这将产生两个副作用:它将非常嘈杂(但仍可识别),并且将下降一个八度,即频率为50%。我想这就是您所拥有的。
可能导致类似效果的另一个错误是,如果您有16位采样音频并像8位一样播放。最终所有其他样本基本上都是噪声,并且下降了一个八度。我认为您所需要的不是这样,这会带来很大的噪音,但是请查看一下如何设置音频文件标题和播放参数。

关于ios - 使用AVAudioSession在iOS 13上的Voip session 上使机器人声音失真,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63244145/

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