Javascript Web音频API,获取两个阵列中左/右通道的getByteTimeDomainData。
我目前正在尝试使用web音频api创建一个音频可视化,也就是说,我正在尝试从给定的音频源生成李萨如图形 我遇到过这个,但我错过了一些先决条件。如何获取左/右通道的时域数据?目前,我似乎只得到合并的数据 任何帮助或暗示都将不胜感激Javascript Web音频API,获取两个阵列中左/右通道的getByteTimeDomainData。,javascript,audio,web-audio-api,Javascript,Audio,Web Audio Api,我目前正在尝试使用web音频api创建一个音频可视化,也就是说,我正在尝试从给定的音频源生成李萨如图形 我遇到过这个,但我错过了一些先决条件。如何获取左/右通道的时域数据?目前,我似乎只得到合并的数据 任何帮助或暗示都将不胜感激 $(document).ready(function () { var audioCtx = new (window.AudioContext || window.webkitAudioContext)(); var audioElement = docume
$(document).ready(function () {
var audioCtx = new (window.AudioContext || window.webkitAudioContext)();
var audioElement = document.getElementById('audioElement');
var audioSrc = audioCtx.createMediaElementSource(audioElement);
var analyser = audioCtx.createAnalyser();
// Bind analyser to media element source.
audioSrc.connect(analyser);
audioSrc.connect(audioCtx.destination);
//var timeDomainData = new Uint8Array(analyser.frequencyBinCount);
var timeDomainData = new Uint8Array(200);
// loop and update time domain data array.
function renderChart() {
requestAnimationFrame(renderChart);
// Copy frequency data to timeDomainData array.
analyser.getByteTimeDomainData(timeDomainData);
// debugging: print to console
console.log(timeDomainData);
}
// Run the loop
renderChart();
});
观察结果正确,波形为下混结果。从(我的重点): 将当前下混时域(波形)数据复制到 传递的无符号字节数组。[……] 要解决这个问题,您可以使用通道拆分器(
createChannelSplitter()
)并将每个通道分配给两个单独的analyzer节点
有关
createChannelSplitter()
的更多详细信息,请参见观察结果正确,波形为下混结果。从(我的重点):
将当前下混时域(波形)数据复制到
传递的无符号字节数组。[……]
要解决这个问题,您可以使用通道拆分器(createChannelSplitter()
)并将每个通道分配给两个单独的analyzer节点
有关
createChannelSplitter()
的更多详细信息,请参阅感谢您的回复、提供的链接和解决方案提示,这些确实回答了我的问题。感谢您的回复、提供的链接和解决方案提示,这些确实回答了我的问题。