当WebRTC音频呼叫正在进行时,AVAudioPlayer播放音量非常低的声音

问题描述 投票:3回答:1

我正在尝试使用AVAudioPlayer播放声音片段,同时使用适用于iOS的PeerConnection Obj-C库来激活GoogleWebRTC

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

我有AVAudioSession设置为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)
}

感谢您的任何帮助。

ios swift webrtc avaudioplayer avaudiosession
1个回答
0
投票

当铃声响起时,我遇到了类似的问题。你能

  1. 确保振铃器没有关闭
  2. 确保当前输出端口是扬声器。 [[AVAudioSession sharedInstance] overrideOutputAudioPort:AVAudioSessionPortOverrideSpeaker error:nil];

0
投票

在播放音频之前,将模式改为默认,也会失去aec,agc支持,

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

完成播放后,将模式重置为语音聊天,

[[AVAudioSession sharedInstance] AVAudioSessionModeVoiceChat error:&error];
© www.soinside.com 2019 - 2024. All rights reserved.