在 HTML5 视频标签中使用 QuickTime/JavaScript API

Posted

技术标签:

【中文标题】在 HTML5 视频标签中使用 QuickTime/JavaScript API【英文标题】:using QuickTime/JavaScript API in a HTML5 video tag 【发布时间】:2011-10-06 12:42:51 【问题描述】:

我正在使用新的视频标签构建一个 html5 网络应用程序。我使用了大部分新功能,但其中一些还没有实现,我可以使用旧的 QT/JS API。

Apple 为此提供了文档: http://developer.apple.com/library/safari/#documentation/QuickTime/Conceptual/QTScripting_javascript/bQTScripting_JavaScri_Document/QuickTimeandJavaScri.html#//apple_ref/doc/uid/TP40001526-CH001-SW5

但这只是 vor 对象或嵌入标签。你知道有没有办法使用视频标签来做到这一点?

(我请求的全部目的是在 ios 上捕捉用户可以实际按下视频播放的事件)

【问题讨论】:

【参考方案1】:

如果我正确理解您希望在用户开始播放 HTML5 视频时捕捉事件,您可以使用以下事件:

videoElements = document.getElementsByTagName("video");

for (var i = 0; i < videoElements.length; i++) 
    ele = videoElements[i];
    ele.addEventListener("play", onVideoPlay);
    ele.addEventListener("pause", onVideoPause);
    ele.addEventListener("ended", onVideoEnded);

或者是你想要达到的其他目标?

【讨论】:

不是真的! HTML5 将允许我这样做。不,我希望在播放按钮可用时(而不是实际按下时)之前的事件。我认为它是 QT 中的 qt_loadedmetadata。但是 HTML5 onloadedmetadata 事件最终会在播放点击后触发... 啊,好吧。你见过这个问题:***.com/questions/5181865/… 吗?也许这有帮助。 是的,但这些都是关于规格和东西的非常理论的讨论。实际发生的是,当视频的第一帧出现时,readyState 变为 4,这显然是在缓冲开始等之后(至少在 Safari 5 上)

以上是关于在 HTML5 视频标签中使用 QuickTime/JavaScript API的主要内容,如果未能解决你的问题,请参考以下文章

使用 JavaScript 在 iPhone Safari 上破解 QuickTime 播放器

iPad 上不显示 HTML5 视频

如何防止 html5 视频在 OSX 上休眠

有没有办法在 HTML5 视频上使用 DRM?

使用 HTML5 视频标签播放视频

检测视频/音频是不是在 html5 视频标签中停止