MediaElementAudioSourceNode阻止Firefox中的视频播放

时间:2014-11-25 17:27:09

标签: html5-video web-audio

这就是我正在做的事情:(1)创建一个视频元素; (2)在视频元素上创建AudioContext和MediaElementSourceNode; (3)将MediaElementSourceNode连接到目标节点; (4)播放视频。

它始终适用于Chrome。在Firefox中,它只显示视频的第一帧。

代码:



var video = document.createElement('video');
video.setAttribute('crossorigin', 'anonymous');
video.src = 'https://dl.dropboxusercontent.com/s/tozkw68tccsp39a/BrianNalumonWindmill360p.mp4'

var audioContext = new AudioContext();

var source = audioContext.createMediaElementSource(video);
source.connect(audioContext.destination);

document.body.appendChild(video);
video.play();




有趣的是,如果视频与网页位于同一服务器上,则可在Firefox中使用。所以我怀疑某种跨性别问题。但是,如果他们在不同的服务器上,无论我是否请求CORS标头(上述代码中的video.setAttribute行),它在Firefox中都会失败(并在Chrome中运行)。

如果它与CORS标题一起使用并且没有失败则完全有意义。它失败的事实对我来说似乎是一个Firefox错误;我还没有足够的信心提交错误报告。

任何人都有其他解释或修复?

1 个答案:

答案 0 :(得分:2)

Firefox Web Audio API开发人员,正如您所猜测的那样,这是我们方面的一个错误。

另外,请不要犹豫,提交错误。最糟糕的情况是它被解析为无效或重复(在这种情况下,它对加权优先级有用)。