主页 > 知识库 > HTML5视频播放标签video和音频播放标签audio标签的正确用法

HTML5视频播放标签video和音频播放标签audio标签的正确用法

热门标签:美图手机 检查注册表项 网站文章发布 银行业务 智能手机 铁路电话系统 呼叫中心市场需求 服务器配置

如何嵌入视频和音频

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

video src="//www.jb51.net/~j/theora_testsuite/320x240.ogg" controls autoplay loop>
 Your browser does not support the code>video/code> element.
/video>

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

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

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

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

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

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

controls : 显示标准的 HTML5 视频/音频播放器控制条、控制按钮。
autoplay : 让文件自动播放。
loop : 让文件循环播放。

audio src="audio.mp3" preload="auto" controls>/audio>

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

"none" 不缓存
"auto" 缓存
"metadata" 只缓存文件元信息
为了能够兼容各种浏览器对不同媒体类型的支持,我们可以用多个 source> 元素来提供多个不同的媒体类型。例如:

video controls>
 source src="foo.ogg" type="video/ogg">
 source src="foo.mp4" type="video/mp4">
 Your browser does not support the code>video/code> element.
/video>

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

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

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

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

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

用JavaScript控制视频/音频播放

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

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

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

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

停止下载视频文件

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

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

var mediaElement = document.getElementById("myMediaElementID");
mediaElement.pause();
mediaElement.src='';
//或
mediaElement.removeAttribute("src"); 

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

设定播放的时间点定位

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

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

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

设定播放范围

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

它的具体语法是这样的:

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

举例:

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

设置视频封面(poster参数)

当视频不是自动播放时,在有些浏览器里,视频在未播放前的缺省界面是空白,这样很没有意义,我们可以给视频设定一个封面,用视频里的某个比较具有代表意义的画面截图作为视频的封面,设定视频封面的参数是 poster:

video poster='cover.jpg' src="//www.jb51.net/~j/theora_testsuite/320x240.ogg" controls autoplay loop>
 Your browser does not support the code>video/code> element.
/video>

当视频加载遇到错误时的补救方法
有时候视频资源会失效,或加载失败,或者浏览器不能解码当前视频格式,当遇到这种情况,我们应该给与补救措施,替换当前视频资源地址,或用其它措施补救,比如将video对象替换成图片。我们可以使用JavaScript对视频加载中的“error”事件进行监听,比如对于下面的视频资源:

video controls>
 source src="dynamicsearch.mp4" type="video/mp4">/source>
 a href="dynamicsearch.mp4" rel="external nofollow" >
  img data-original="dynamicsearch.jpg" alt="Dynamic app search in Firefox OS">
 /a>
 p>Click image to play a video demo of dynamic app search/p>
/video>

我们使用下面的js代码进行补救:

var v = document.querySelector('video'),
  sources = v.querySelectorAll('source'),
  lastsource = sources[sources.length-1];
lastsource.addEventListener('error', function(ev) {
 var d = document.createElement('div');
 d.innerHTML = v.innerHTML;
 v.parentNode.replaceChild(d, v);
}, false);

更多关于HTML5视频播放器video标签和音频播放器audio标签的正确用法请点击查看下面的相关文章

您可能感兴趣的文章:
  • SpringBoot+阿里云OSS实现在线视频播放的示例
  • SpringBoot静态视频实时播放的实现代码
  • 详解HTML5 使用video标签实现选择摄像头功能
  • 使用js检测浏览器是否支持html5中的video标签的方法
  • Springboot项目使用html5的video标签完成视频播放功能

标签:河南 长治 沧州 上海 新疆 红河 沈阳 乐山

巨人网络通讯声明:本文标题《HTML5视频播放标签video和音频播放标签audio标签的正确用法》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266