Firefox 37在尝试为WebRTC音频上下文添加麦克风音量控制时抛出错误

时间:2015-06-08 17:33:31

标签: firefox webrtc html5-audio audiocontext

由于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);

此处抛出错误:

microphone.connect(增益);

奇怪的是,它每晚都适用于Firefox。

此错误类似于此stackoverflow:link

相关链接: link on StackOverflow

2 个答案:

答案 0 :(得分:1)

你不应该将它用于麦克风吗?

 var microphone      = audioContext.createMediaStreamSource();

而不是

 var microphone      = audioContext.createMediaStreamDestination();

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

答案 1 :(得分:0)

首先我认为应该是

var microphone      = audioContext.createMediaStreamSource(stream);

此处stream是麦克风音频流。查找更多信息here

另请查看此demo并详细说明here。它与你正在尝试的类似。将 createMediaElementSource 替换为 createMediaStreamSource 将起作用。