更改多个 html5 视频播放器速度
Change multiple html5 video player speed
我有一个页面只有几个 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>
这仅适用于第一个视频。我的每个视频都需要它。以下是 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 只有 return 第一个元素。
如果您想访问多个视频标签,可以改用 querySelectorAll。
querySelectorAll 将 return 您所有视频的数组,然后您需要循环播放它们以应用您的 defaultPlaybackRate。
示例:
var videos = document.querySelectorAll('video');
for(i=0;i<videos.length;i++){
videos[i].playbackRate = 0.5;
}
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>
错误是当您使用 querySelector 时,它 returns 是一个视频对象。
作为querySelectorAll,returns对象数组(作为所有视频标签)。所以你必须迭代数组并提高视频的速度。
希望对您有所帮助。
编码愉快!!
我有一个页面只有几个 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>
这仅适用于第一个视频。我的每个视频都需要它。以下是 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 只有 return 第一个元素。
如果您想访问多个视频标签,可以改用 querySelectorAll。
querySelectorAll 将 return 您所有视频的数组,然后您需要循环播放它们以应用您的 defaultPlaybackRate。
示例:
var videos = document.querySelectorAll('video');
for(i=0;i<videos.length;i++){
videos[i].playbackRate = 0.5;
}
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>
错误是当您使用 querySelector 时,它 returns 是一个视频对象。 作为querySelectorAll,returns对象数组(作为所有视频标签)。所以你必须迭代数组并提高视频的速度。
希望对您有所帮助。 编码愉快!!