audio - Web Audio API在单个 channel 中合并音频无法完全正常工作

标签 audio webrtc html5-audio web-audio-api

我有一个videoWebRTC音频流,并希望使用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)

我遇到的问题是,尽管远程音频确实到达了右声道(并且在左声道中听不到),但是来自视频的音频仍然在右声道中仍然存在。所以基本上我有音频出血。奇怪的是,如果我将远程流和视频都重定向到同一个 channel ,则另一个 channel 绝对没有声音。

而如果我使用振荡器代替视频音频,我将获得完美的分离。知道我在做什么错吗?

编辑:我还尝试从OS音频设置中关闭左声道,并且停止向右声道传送音频(也在同事的机器上尝试过),所以这可能是硬件/配置
问题?

最佳答案

毕竟是硬件问题,好的耳机无法达到效果。

关于audio - Web Audio API在单个 channel 中合并音频无法完全正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55032799/

相关文章:

ios - 如何标准化分贝值并使其介于 0 和 1 之间

java - 使用 Java Sound API 通过 UDP 发送语音

ios - webrtc 框架实现时找不到图像

html - 如何在Web Audio API中将SoundManager2定义为媒体元素源

ios - 核心音频: Audio Unit to boost signal level

audio - html5 音频播放器和网络上的 .aif 文件

webrtc - 使用 Kurento 将 RTSP 流式传输到 WebRTC

javascript - WebRTC视频聊天

javascript - jquery中的一个div两个函数

javascript - 获取围绕音频按钮的链接