我如何改变播放速率在html5视频包含在一个u-tube iframe



有一个chrome扩展,允许playbackRate设置和更改包含在u-tube iframe中的html5视频。

我想在Firefox上完成同样的事情(或者,更好的是,独立于浏览器)。

我想知道我是否必须通过一个附加组件(能够做消息传递跨站点,因为我的html不在you-tube上,但我的视频是),或者如果有一个更简单的方法(甚至可能跨浏览器工作)。

关于这件事的任何想法都会有用的。

根据Rachel Gallen的优秀建议(在评论中),以下是我尝试过的一些事情:

$(function (){
  // a convenient way to get at things once the page renders
  $("button#stop-me").click(function() {
    var mytags = document.getElementsByTagName("video");
  });
});
$(function (){
  // a convenient way to get at things once the page renders
  $("button#stop-me").click(function() {
    var myframe = document.getElementsByTagName("iframe");
    for(p in myframe)
    {
      var mytags = myframe.document.getElementsByTagName("video");
    }
  });
});
$(function (){
  document.addEventListener('DOMNodeInserted', function(event) {
    var node = event.target || null;
    if (node && node.nodeName === 'VIDEO') {
      nodeList.push(node);
    }
  });
  $("button#stop-me").click(function() {
    alert(nodeList.length);
  });
});

第一个返回一个空的"mytags"。

第二个返回iframe列表,但是myframe出错。文档调用(如预期)。

第三个on从不命中nodeList.push(node)行,并为计数显示0(如预期)

如果可能的话,最好使用Youtube的API。你不知道Youtube会显示什么,它可能(例如)甚至不是HTML5视频,它可能是其他东西,比如flash。因此,虽然有可能破解它,但这不是最好的方法。

我还没有测试过,但它应该可以工作

document.getElementsByTagName("video")[0].playbackRate = 1.2应该加速到速度的1.2倍

(同样0.7会使它变慢等等)

相关内容

最新更新