如何从 HTML5 Javascript 中的视频中提取音轨作为原始音频数据?即一组样本?
我对 HTML5 Video API 完全陌生,所以举个例子会很棒。
如何从 HTML5 Javascript 中的视频中提取音轨作为原始音频数据?即一组样本?
我对 HTML5 Video API 完全陌生,所以举个例子会很棒。
Web Audio API正是您想要的。特别是,您想将 aMediaElementAudioSourceNode输入到AnalyserNode. 不幸的是,Web Audio API 仅在 Chrome 中实现(在 FF 中实现了一些),甚至 Chrome还没有完全支持MediaElementAudioSourceNode.
var context = new webkitAudioContext();
// feed video into a MediaElementSourceNode, and feed that into AnalyserNode
// due to a bug in Chrome, this must run after onload
var videoElement = document.querySelector('myVideo');
var mediaSourceNode = context.createMediaElementSource(videoElement);
var analyserNode = context.createAnalyser();
mediaSourceNode.connect(analyserNode);
analyserNode.connect(context.destination);
videoElement.play();
// run this part on loop to sample the current audio position
sample = new Float32Array(analyser.frequencyBinCount);
analyser.getFloatFrequencyData(sample);