我有一个用例,我必须在正在进行的视频通话中播放语音和音频文件。我正在使用 Agora 进行视频通话。
问题:- 语音和音频文件播放的声音非常低
观察:-
- 在播放语音或音频文件(使用 AVAudioPlayer)时,声音来自两个扬声器:听筒和底部但音量非常低。
- 尝试将我的手机连接到蓝牙扬声器,问题仍然存在。
- 尝试在我的 iPhone 中以不同的电池电量进行测试,问题仍然存在。
- 这个小批量问题不是 100% 重复发生的,即在大约 20% 的情况下它可以正常工作。
我的语音代码:-
let speechUtterance = AVSpeechUtterance(string: "Some text")
speechUtterance.rate = 0.4
speechUtterance.volume = 1.0
speechUtterance.voice = AVSpeechSynthesisVoice(identifier: "com.apple.ttsbundle.Samantha-compact")
speechSynthesizer.speak(speechUtterance)
我播放音频文件的代码:-
private func playGameSound(ofType sound: GameSounds) {
if let path = Bundle.main.path(forResource: sound.rawValue, ofType: nil) {
let url = URL(fileURLWithPath: path)
do {
audioPlayer = try AVAudioPlayer(contentsOf: url)
audioPlayer?.delegate = self
soundsPlayingCount += 1
audioPlayer?.play()
} catch {
print("couldn't load game sound file")
}
}
}
PS:-我看到了多个堆栈答案,建议使用以下代码:-
AVAudioSession.sharedInstance().overrideOutputAudioPort(.speaker)
我试过这个,但它没有帮助。
此外,我想知道为什么首先会发生这种低容量行为,而且并非总是如此。另外,请向我建议一些可能指导我解决此问题的资源。