使用ScriptProcessorNode播放音频会产生轻微的背景噪音

时间:2016-05-17 20:21:40

标签: audio web web-audio-api

我正在开发一个需要连接到现有视频标签的项目来获取音频,并对音频进行一些小操作。

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);
		}

    }

问题是我不断在音频上产生明亮的背景噪音。即使我什么也不做,只是将输入复制到输出,我听到了轻微的噪音。

任何想法是什么原因?

谢谢!

1 个答案:

答案 0 :(得分:0)

使用更高的缓冲区大小,一旦实际渲染帧,它可能会略微丢帧。并非所有设备都是相同的,我发现Chrome特别是对1024个样本以下的ScriptProcessorNodes不起作用,无论它们实际上在做什么。