0

由于 firefox 37 我无法向输入(麦克风)添加音量控制,因此出现错误:

IndexSizeError:索引或大小为负数或大于允许的数量

它在 Chrome 上运行良好。

这是代码示例:

var audioContext    = new (window.AudioContext || window.webkitAudioContext)(); // define audio context
var microphone      = audioContext.createMediaStreamDestination();
var gain            = audioContext.createGain();
var speaker         = audioContext.createMediaStreamDestination(gain);
gain.gain.value = 1;
microphone.connect(gain);
gain.connect(speaker);

错误在这里抛出:

麦克风.连接(增益);

奇怪的是,它每晚都在 Firefox 上工作。

此错误与此 stackoverflow 类似:link

相关链接: StackOverflow 上的链接

4

2 回答 2

1

你不应该用这个做麦克风吗?

 var microphone      = audioContext.createMediaStreamSource();

而不是这个

 var microphone      = audioContext.createMediaStreamDestination();

麦克风不是目的地。它是一个来源。

于 2015-06-12T17:28:55.170 回答
0

首先我认为应该是

var microphone      = audioContext.createMediaStreamSource(stream);

这里的流是麦克风音频流。在此处查找更多信息。

还可以在此处详细查看此演示。这与您正在尝试的类似。将createMediaElementSource替换为createMediaStreamSource 即可

于 2015-06-15T12:22:09.007 回答