实际上,自定义视频控件并不困难.本文将告诉你如何用jQuery自定义视频控件,希望对你有用!
DEMO DOWNLOAD
HTML5 Video 基础标签
1 <video id="myVideo" controls poster="video.jpg" width="600" height="400" >
2<source src="video.mp4" type="video/mp4" />
3<source src="video.webm" type="video/webM" />
4<source src="video.ogv" type="video/ogg" />
5<p>Your browser does not support the video tag.</p>
6 </video>
video标签最好包含mp4、webM和ogg这三种源视频文件-可以跨浏览器。如果浏览器不支持html5,你可以使用flash作为后备!
开始制作 HTML5 Video Controls
幸运的是HTML5 Video 的Api可以用JavaScript访问,并使用他们来作为控制视频的媒介.
在编码之前让我简单的介绍一下jQuery是如何获取video标签的.
在JavaScript中我们使用getElementById('videoID')来获取Video标签,作为结果,我们会获取到一个Dom对象.但是这不是等价的jQuery对象.$("videoID")会返回一个jQuery对象.不是Dom对象.这就是为什么在将其转换为Dom对象之前我们不能直接使用jQuery选择器调用/使用Html5 Video的Dom属性和功能.
1 //return a DOM object
2 var video = document.getElementById('videoID')//or
3 var video = $('#videoID').get(0)//or
4 var video = $('#videoID')[0]
5
6 //return a jQuery object
7 var video = $('#videoID')
Video Play/Pause Controls 播放/暂停 按钮
好的,这是所有的介绍.现在让我们来编码.首先,我们要创建一个简单的播放/暂停按钮.
1 <div class="control">
2<a href="#" class="btnPlay">Play/Pause</a>
3 </div>
我们可以轻松的控制Html5 Video的播放与暂停状态.
1 //Play/Pause control clicked
2 $('.btnPlay').on('click', function() {
3if(video[0].paused) {
4 video[0].play()
5}
6else {
7 video[0].pause()
8}
9return false
10 }
source是为了兼容各个浏览器。因为浏览器对视频格式支持不统一,有些浏览器例如有些浏览器支持 mp4格式 ,那么它就播放第一个 mp4 格式的视频,如果它不支持就检查是不是支持下面的 ogg 视频,如果支持就播放,不支持的话继续向下,下面没有source了,那么就显示“Your browser does not support the video tag.”
注意:
如果你在 <video>内设置了 muted 属性,是可以通过 autoplay 实现视频的自动播放,反之则需要用户手动授权,点击播放才可以实现自动播放。
因为谷歌浏览器禁止页面在没有用户授权的情况下进行有声的视频播放