簡體   English   中英

當WebRTC音頻呼叫正在進行時,AVAudioPlayer播放音量非常低的聲音

[英]AVAudioPlayer playing sound with very low volume when WebRTC audio call in progress

我正在嘗試使用AVAudioPlayer播放聲音片段,同時使用適用於iOS的GoogleWebRTC Obj-C庫進行活動的PeerConnection

當我播放聲音時,我可以通過揚聲器聽到聲音,但與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)
}

感謝您的任何幫助。

當鈴聲響起時,我遇到了類似的問題。 你是否可以

  1. 確保振鈴器沒有關閉
  2. 確保當前輸出端口是揚聲器。

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

在播放音頻之前,將模式改為默認,也會失去aec,agc支持,

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

完成播放后,將模式重置為語音聊天,

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM