Estoy intentando reproducir un clip de sonido usando AVAudioPlayer mientras tengo un PeerConnection activo usando la GoogleWebRTC Obj-C para iOS.
Cuando reproduzco el sonido, puedo escucharlo a través de los parlantes, pero se reproduce a un volumen extremadamente bajo (casi inaudible) en comparación con la salida de audio WebRTC.
Tengo AVAudioSession configurado en active = true con lo siguiente; AVAudioSession.Category = .playAndRecord , AVAudioSession.CategoryOptions = [.defaultToSpeaker, .allowBluetooth, .mixWithOthers] , AVAudioSession.Mode = .voiceChat .
No tengo problemas para reproducir y escuchar sonidos cuando no hay una conexión de audio WebRTC configurada activamente.
¿Hay alguna manera de permitir que el sonido se reproduzca desde un AVAudioPlayer sin que se baje el volumen a través de 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) }Gracias por cualquier ayuda.
Antes de reproducir audio, cambie el modo a predeterminado, también perderá aec, soporte agc,
[[AVAudioSession sharedInstance] setMode:AVAudioSessionModeDefault error:&error];cuando termine de jugar, reinicie el modo de chat de voz,
[[AVAudioSession sharedInstance] AVAudioSessionModeVoiceChat error:&error];Me he enfrentado a un problema algo similar, cuando el timbre está apagado. Puede
Asegúrese de que el puerto de salida actual sea altavoz.
[[AVAudioSession sharedInstance] overrideOutputAudioPort:AVAudioSessionPortOverrideSpeaker error:nil];