我正在开发一个需要连接到现有视频标签的项目来获取音频,并对音频进行一些小操作。
var MyContext = new (window.AudioContext || window.webkitAudioContext)();
var source = MyContext.createMediaElementSource(video);
audioScript = MyContext.createScriptProcessor(512,2,2);
source.connect(audioScript);
audioScript.connect(MyContext.destination);
audioScript.onaudioprocess = function(audioProcessingEvent) {
var inputBuffer = audioProcessingEvent.inputBuffer;
// The output buffer contains the samples that will be modified and played
var outputBuffer = audioProcessingEvent.outputBuffer;
for (var channel = 0; channel < 2; channel++)
{
var inputData = inputBuffer.getChannelData(channel);
outputBuffer.copyToChannel(inputData, channel);
}
}
问题是我不断在音频上产生明亮的背景噪音。即使我什么也不做,只是将输入复制到输出,我听到了轻微的噪音。
任何想法是什么原因?
谢谢!
答案 0 :(得分:0)
使用更高的缓冲区大小,一旦实际渲染帧,它可能会略微丢帧。并非所有设备都是相同的,我发现Chrome特别是对1024个样本以下的ScriptProcessorNodes不起作用,无论它们实际上在做什么。