当WEBRTC音频呼叫正在进行中时,Avaudioplayer播放声音的音量非常低



我在使用iOS的GoogleWebRTC OBJ-C库中使用AVAudioPlayer时尝试使用CC_1播放声音夹。

当我播放声音时,我可以通过扬声器听到它,但是与WEBRTC音频输出相比,它的播放量非常低(几乎听不清)。

我将AvauioSession设置为active = true,并使用以下内容;AVAudioSession.Category = .playAndRecordAVAudioSession.CategoryOptions = [.defaultToSpeaker, .allowBluetooth, .mixWithOthers]AVAudioSession.Mode = .voiceChat

当没有积极配置的WebRTC音频连接时,我毫不费力地播放和听到声音。

是否有一种方法可以使声音从AVAudioPlayer播放而不会通过WEBRTC降低音量?

do {
        try setActiveAudio()
        let player = try AVAudioPlayer(data: asset.data, fileTypeHint: AVFileType.mp3.rawValue)
        activePlayers.append(player)
        player.delegate = self
        player.prepareToPlay()
        player.play()
} catch let error {
        print(error.localizedDescription)
}

感谢您的任何帮助。

在播放音频之前,将模式更改为默认模式,也将丢失AEC,AGC支持,

[[AVAudioSession sharedInstance] setMode:AVAudioSessionModeDefault error:&error];

完成播放时,重置语音聊天模式,

[[AVAudioSession sharedInstance] AVAudioSessionModeVoiceChat error:&error];

我在铃声关闭时遇到了一些类似的问题。你可以

  1. 确保铃声不关闭
  2. 确保当前输出端口是扬声器。

    [[AVAudioSession sharedInstance] overrideOutputAudioPort:AVAudioSessionPortOverrideSpeaker error:nil];
    

最新更新