Ach*_*ave 9 javascript video firefox canvas getusermedia
尝试drawImage使用video其源是网络摄像头源的呼叫似乎在Firefox中失败了
NS_ERROR_NOT_AVAILABLE: Component is not available.
我试图等待每一个事件的视频标签火灾:play,playing,canplay,loadeddata,loadedmetadata,等,并没有什么作品.这似乎是因为这些事件在流正确加载到<video>元素之前触发.
JSFiddle有错误(你可以在控制台中查看错误)
副作用是视频的宽度和高度也不正确.
Ach*_*ave 33
这是Firefox中的一个错误.最简单的解决方法是简单地继续尝试,直到错误消失,因为没有事件在正确的时间触发.
请参阅:http://jsfiddle.net/9aT63/25/
基本上,您必须将drawImage调用包装在try/catch块中.
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;
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5778 次 |
| 最近记录: |