Web Audio API объединяет аудио в одном канале не полностью - PullRequest
0 голосов
/ 07 марта 2019

У меня есть аудиопоток video и WebRTC, и я хочу использовать Web Audio API для отправки аудио из видео на левый канал, а WebRTC на правый канал.Итак, в основном я делаю:

video = document.getElementsByTagName("video")[0]
video.src = "http://link/to/my/video"
video.load()

audioContext = new AudioContext()
videoSourceL = audioContext.createMediaElementSource(video)
#create merger with 2 inputs, left (0) and right (1)
merger = audioContext.createChannelMerger(2)
merger.connect(audioContext.destination)

#now strange work around for WebRTC
audio = new Audio();
audio.muted = true
audio.srcObject = remoteStream
audioStreamR = audioContext.createMediaStreamSource(remoteStream)

# connect remote audio stream channel 0 to input 1 (right)
audioStreamR.connect(merger, 0, 1)

#connect video source channel 0 to input 0 (left)
videoSourceL.connect(merger, 0, 0)

Проблема, с которой я столкнулся, заключается в том, что хотя удаленный звук действительно идет на правый канал (и не слышен слева), звук с видео также остаетсяслегка присутствует в правом канале.Так что в основном у меня аудио-кровотечение.Странно то, что если я перенаправлю и удаленный поток, и видео на один и тот же канал, то на другом канале будет абсолютная тишина.

В то время как если бы я использовал генератор вместо видео-аудио, я быиметь идеальное разделение.Любая идея, что я делаю не так?

РЕДАКТИРОВАТЬ: Я также попытался из настроек аудио ОС, чтобы отключить левый канал, и кровотечение в правом канале остановилось (также пытался это на коллеге), так это может быть проблема с оборудованием / конфигурацией?

1 Ответ

0 голосов
/ 13 марта 2019

В конце концов, это была аппаратная проблема, с хорошими наушниками эффекта не было.

...