·您当前的位置:主页 > 技术教程 > Html5技术 >

[html5]html5视频播放器中video和audio标签的使用说明附源代码

时间:2017-02-04 17:00酷播
HTML5视频video/音频audio的用法介绍,有了这种原生的HTML5视频播放器/音频播放器,我们不再需要flash技术,而直接能将视频/音频嵌入到了网页中

HTML5里引入的新标记 <audio><video> 实现了HTML对视频播放和音频播放的原生支持,有了这种原生的HTML5视频播放器/音频播放器,我们不再需要flash技术,而直接能将视频/音频嵌入到了网页中。

如何嵌入视频和音频

在网页里嵌入HTML5音频播放器和视频播放器的方法非常简单:

  1. <video src="http://www.webhek.com/~j/theora_testsuite/320x240.ogg" controls autoplay loop> 
  2.   Your browser does not support the <code>video</code> element. 
  3. </video> 

上面这个例子显示了如何播放一个视频文件,并露出视频播放控制按钮。

下面这个例子是在HTML网页里嵌入音频 audio 的方法:

  1. <audio controls autoplay loop src="/test/audio.ogg"> 
  2. <p>Your browser does not support the <code>audio</code> element.</p> 
  3. </audio> 

这里的 src 属性里可以填入一个音频/视频的URL,也可以是一个本地的文件。

  1. <audio src="audio.ogg" controls autoplay loop> 
    1. <audio src="audio.mp3" preload="auto" controls></audio> 
  2. <p>Your browser does not support the <code>audio</code> element </p> 
  3. </audio> 

下面是<audio><video> 两个标记上控制属性的含义:

  • controls : 显示标准的 HTML5 视频/音频播放器控制条、控制按钮。
  • autoplay : 让文件自动播放。
  • loop : 让文件循环播放。
  1. <audio src="audio.mp3" preload="auto" controls></audio> 

这里的 preload 属性是用来缓存大体积文件的。它有三个可选值:

  • "none" 不缓存
  • "auto" 缓存
  • "metadata" 只缓存文件元信息

为了能够兼容各种浏览器对不同媒体类型的支持,我们可以用多个 <source> 元素来提供多个不同的媒体类型。例如:

  1. <video controls> 
  2.   <source src="foo.ogg" type="video/ogg"> 
  3.   <source src="foo.mp4" type="video/mp4"> 
  4.   Your browser does not support the <code>video</code> element. 
  5. </video> 

支持Ogg格式视频流的浏览器可以播放 Ogg 文件。如果不支持,可以播放 MPEG-4 文件。查看各种浏览器对各种媒体类型的支持情况,请查看这里。

我们还可以指定播放使用的解码器(codecs); 这样就可以更精确的让浏览器如何播放提供的视频:

  1. <video controls> 
  2.   <source src="foo.ogg" type="video/ogg; codecs=dirac, speex"> 
  3.   Your browser does not support the <code>video</code> element. 
  4. </video> 

上面,我们指定了这个视频需要使用 Dirac 和 Speex 解码器。如果浏览器支持 Ogg 格式,但没有指定的解码器,那么,视频将不会被加载。

如果没有提供 type 属性,则浏览器会向服务器询问媒体类型,看看是否支持;如果不支持,浏览器将会去检查下一个 source 属性。

用JavaScript控制视频/音频播放

一旦视频文件正确的嵌入到了HTML网页里,我们就可以使用JavaScript里控制它的部分,获取它的播放信息。比如,用JavaScript启动视频播放:

  1. var v = document.getElementsByTagName("video")[0]; 
  2. v.play(); 

用JavaScript可控制HTML5视频播放器实现播放、暂停、快进,快退、音量等。

  1. <audio id="demo" src="audio.mp3"></audio> 
  2. <div> 
  3.   <button onclick="document.getElementById('demo').play()">播放</button> 
  4.   <button onclick="document.getElementById('demo').pause()">暂停</button> 
  5.   <button onclick="document.getElementById('demo').volume+=0.1">降低音量</button> 
  6.   <button onclick="document.getElementById('demo').volume-=0.1">提高音量</button> 
  7. </div>  

停止下载视频文件

虽然我们可以使用pause()方法里让视频文件停止播放,但浏览器并未停止下载媒体文件,除非它达到了一定的缓存量。

下面是让浏览器如何停止下载视频文件的方法:

  1. var mediaElement = document.getElementById("myMediaElementID"); 
  2. mediaElement.pause(); 
  3. mediaElement.src=''
  4. //或 
  5. mediaElement.removeAttribute("src"); 

通过删除 src 属性(或者设置为空值),这样就能停止文件的网络下载。

设定播放的时间点定位

我们可以指定视频从某时某分某秒开始播放,这是通过设置 currentTime 属性来实现。

我们可以通过 seekable 属性来获得视频有效的播放时间范围。它会返回一个 TimeRanges 对象,能够告诉你有效的开始时间和结束时间。

  1. var mediaElement = document.getElementById('mediaElementID'); 
  2. mediaElement.seekable.start(0);  // 返回开始时间 (秒) 
  3. mediaElement.seekable.end(0);    // 返回结束时间 (秒) 
  4. mediaElement.currentTime = 122; // 定位到第 122 秒播放 
  5. mediaElement.played.end(0);      // 返回已经播放的时间长度(秒) 

设定播放范围

当在网页里嵌入视频/音频文件时, <audio><video> 元素允许我们提供一些额外的信息来指定播放哪一时间段。实现的方法是在媒体文件后面跟随(“#”)格式的信息。

它的具体语法是这样的:

  1. #t=[开始时间][,结束时间] 

时间的表示方法可以使用秒数,也可以提供一个 ”时:分:秒“ 格式的时间(例如 2:05:01 )。/p>

举例:

http://www.webhek.com/video.ogg#t=10,20
指定视频从10秒开始播放,到20秒处结束。
http://www.webhek.com/video.ogg#t=,10.5
指定视频从头开始播放到 10.5 秒处。
http://www.webhek.com/video.ogg#t=,02:00:00
指定视频播放2小时。
http://www.webhek.com/video.ogg#t=60
指定视频从第60秒开始播放,播放到结束。

相关推荐html5在线课堂专栏(含基础课程/视频教学/html5免费视频教学/html5教语法)

微信付费直播
酷播云免费在线视频整体解决方案
参与开学季云视频优惠,拿GET2017教育科技大会VIP门票
进入开学季,保利威视推出云视频优惠,云视频套餐、流量超实惠大放“价”就是现在,还可以免费获取GET2017教育科技大会VIP门票哦!