Firefox 加载元数据事件
Firefox loadedmetadata event
当我使用事件处理程序时:
video.on("loadedmetadata", function() {...})
Firefox 在调用回调时似乎没有正确设置视频尺寸。Chrome 工作得很好。有没有办法在火狐上正确获取视频尺寸?
编辑:如果我放置调试器并手动运行代码,它似乎可以工作。这让我相信这是某种竞争条件。但这对我来说没有意义,因为正在调用该方法,这意味着事件应该正确发生 = 应该设置维度。
下面是一个代码片段:
$("document").ready () ->
# Setup variables
video = $("#video")
toolbar = $("#toolbar")
canvas = $("#filter")
context = canvas.get(0).getContext('2d')
# Setup webcam
# I have a separate webcam module that simply wraps the behavior of
# navigator.getMediaStream. Works fine in chrome.
webcam.setup(() -> alert("Browser Unsupported."))
webcam.getMedia({video:true}, (localMediaStream) ->
video.attr("src", window.URL.createObjectURL(localMediaStream))
# Video loaded event
video.on "loadedmetadata", (e) ->
# Turn on video controls
video.prop("controls", true)
# Setup canvas dimensions and add border
width = video.width()
height = video.height()
canvas
.css("border", "solid")
.css("border-width", "1px")
.attr("width", width)
.attr("height", height)
# In firefox, the width and height are 0! In chrome, they
# are correct. I tested videoWidth/videoHeight and most other
# variables. Does not work.
解决方案摘要:
bugzilla.mozilla.org/show_bug.cgi?id=926753
Firefox 错误,目前似乎无法正确调用视频事件,如果与网络摄像头一起使用。即使摄像机尚未正确初始化并设置正确的尺寸,也很可能会对正在"加载"的视频执行,因此所有内容都以不正确的值调用。
相关文章:
- 访问Twilio短信元数据
- Firebase-返回用户uid并将用户元数据值设置为不同的节点
- Chart.js2.X中的条形值-数据集元数据未定义
- javascript绑定另一个select2输入字段rails的select2 inputonchange事件的数据
- E4X中是否有一种方法可以将基元数据类型的XMLList转换为类似于Array.join()的Array
- 获取javascript中的元数据属性
- 从 Google 云端硬盘请求文件元数据时缺少“downloadUrl”参数
- 如何在上传前在浏览器中去除图像元数据(javascript)
- Amcharts仅显示有关调整大小事件的数据
- chart.js v2:如何添加元数据的工具提示
- 如何从广播流中获取mp3元数据(无icecast,无shoutcast)
- 试图使一个事件依赖于另一个事件,并使用jquery自定义事件传递数据
- IE8:触发“加载元数据”事件
- Firefox 加载元数据事件
- 不冒泡的 JS 事件(进度、加载的元数据等)
- 未定义的 JWPlayer 元数据事件
- <视频>和加载的元数据事件
- swf加载元数据事件
- 如何在select_node事件上为jtree添加元数据
- Google Drive文档上的事件和元数据