Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更改多个html5视频播放器的速度_Javascript_Html_Video_Html5 Video_Playback - Fatal编程技术网

Javascript 更改多个html5视频播放器的速度

Javascript 更改多个html5视频播放器的速度,javascript,html,video,html5-video,playback,Javascript,Html,Video,Html5 Video,Playback,我有一个页面,上面有几个HTML5视频播放器,我想以0.5倍的速度播放它们。我已经展示了只为单个视频播放器运行的js代码段 <script type="text/javascript"> /* play video twice as fast */ document.querySelector('video').defaultPlaybackRate = 1.0; document.querySelector('video').play(); /* now play

我有一个页面,上面有几个HTML5视频播放器,我想以0.5倍的速度播放它们。我已经展示了只为单个视频播放器运行的js代码段

<script type="text/javascript">
  /* play video twice as fast */
  document.querySelector('video').defaultPlaybackRate = 1.0;
  document.querySelector('video').play();

  /* now play three times as fast just for the heck of it */
  document.querySelector('video').playbackRate = 3.0;
</script>

/*播放视频的速度要快一倍*/
document.querySelector('video')。defaultPlaybackRate=1.0;
document.querySelector('video').play();
/*现在玩三倍的速度只是为了见鬼*/
document.querySelector(“视频”).playbackRate=3.0;
这只适用于第一个视频。每部视频我都需要它。下面是html的一部分片段

<ul class="regular slider">
    <li class="videodiv" style="background-image: url('boxing.jpg')">
      <video preload="yes" loop>
        <source src="12950321.mp4" type="video/mp4"/>
      </video>
      <div class="slantedcaption">Boxing</div>
      <a href="detail.html">
        <div class="caption">
          <h2>Boxing</h2>
          <div class="category">Passion</div>
        </div>
      </a>
    </li>
    <li class="videodiv" style="background-image: url('coding.jpg')">
      <video preload="yes" loop>
        <source src="14019065.mp4" type="video/mp4"/>
      </video>
      <div class="slantedcaption">Boxing</div>
      <a href="detail.html">
        <div class="caption">
          <h2>Boxing</h2>
          <div class="category">Passion</div>
        </div>
      </a>
    </li>
    <li class="videodiv" style="background-image: url('dance.jpg')">
      <video preload="yes" loop>
        <source src="12950321.mp4" type="video/mp4"/>
      </video>
      <div class="slantedcaption">Boxing</div>
      <a href="detail.html">
        <div class="caption">
          <h2>Boxing</h2>
          <div class="category">Passion</div>
        </div>
      </a>
    </li>
</ul>
  • 拳击
  • 拳击
  • 拳击

这是因为querySelector只返回第一个元素

如果要访问多个视频标记,可以改用querySelectorAll

querySelectorAll将返回所有视频的数组,然后需要循环它们以应用默认播放速率

例如:

var videos = document.querySelectorAll('video');

for(i=0;i<videos.length;i++){
  videos[i].playbackRate = 0.5;
}
var videos=document.querySelectorAll('video');

对于(i=0;i将Javscript文件更改为:

<script type="text/javascript">
  /* play video twice as fast */
  document.querySelector('video').defaultPlaybackRate = 1.0;
  document.querySelector('video').play();

  /* now play three times as fast just for the heck of it */
  var videos =document.querySelectorAll('video');
  for (var i=0;i<videos.length;i++)
  {
    videos[i].playbackRate = 3.0;
  }
</script>

/*播放视频的速度要快一倍*/
document.querySelector('video')。defaultPlaybackRate=1.0;
document.querySelector('video').play();
/*现在玩三倍的速度只是为了见鬼*/
var videos=document.queryselectoral(“视频”);

对于(VARI=0;我支持接受答案!!你能为这个答案投票吗?