gpt4 book ai didi

javascript - Firefox:drawImage(video) 失败并显示 NS_ERROR_NOT_AVAILABLE:组件不可用

转载 作者:数据小太阳 更新时间:2023-10-29 03:58:44 27 4
gpt4 key购买 nike

正在尝试调用 drawImagevideo来源是网络摄像头的源似乎在 Firefox 中失败 NS_ERROR_NOT_AVAILABLE: Component is not available .

我尝试等待视频标签触发的每个事件:play , playing , canplay , loadeddata , loadedmetadata ,依此类推,但没有任何效果。这似乎是因为这些事件在流被正确加载到 <video> 之前触发。元素。

JSFiddle with error (可以在控制台查看错误)

副作用是视频的宽度和高度也不正确。

最佳答案

这是一个 bug在火狐中。最简单的解决方法是继续尝试直到错误消失,因为没有事件会在正确的时间触发。

参见:http://jsfiddle.net/9aT63/25/

基本上,您必须将 drawImage 调用包装在 try/catch block 中。

function drawVideo() {
try {
$vidCanvasCtx.drawImage($vid, 0, 0, $vidCanvas.width, $vidCanvas.height);
...
} catch (e) {
if (e.name == "NS_ERROR_NOT_AVAILABLE") {
// Wait a bit before trying again; you may wish to change the
// length of this delay.
setTimeout(drawVideo, 100);
} else {
throw e;
}
}
}

关于javascript - Firefox:drawImage(video) 失败并显示 NS_ERROR_NOT_AVAILABLE:组件不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18580844/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com