【发布时间】:2019-03-22 01:06:17
【问题描述】:
我正在尝试使用 AVAudioPlayer 播放声音剪辑,同时使用适用于 iOS 的 GoogleWebRTC Obj-C 库拥有活动的 PeerConnection。
当我播放声音时,我可以通过扬声器听到它,但与 WebRTC 音频输出相比,它以极低(几乎听不见)的音量播放。
我已将 AVAudioSession 设置为 active = true 并具有以下内容; AVAudioSession.Category = .playAndRecord, AVAudioSession.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)
}
感谢您的帮助。
【问题讨论】:
-
嗨,杰克,欢迎来到 Stackoverflow。是否可以发布您的函数调用的代码 sn-p,以便其他人可以帮助找出您的问题是什么?谢谢。
-
添加代码sn-p
-
我基本上也看到了这一点。它实际上不是很低的音量(至少对我来说),它通过接收器输出(电话耳机)路由声音播放(来自和 AVAudioPlayer)。我相信这与 webrtc 内部的语音处理 IO 单元有关
标签: ios swift webrtc avaudioplayer avaudiosession