副标题#e#

一、虽然有的属性是boolean类型,但仍旧建议按照XHTML书写(属性名=”属性值”)格式,避免出现错误 (下面加粗的属性为常用属性)

属性  
值  
功能描述  

controls  
controls  
是否显示播放控件  

autoplay  
autoplay  
设置是否打开浏览器后自动播放  

width  
Pilex(像素)  
设置播放器的宽度  

height  
Pilex(像素)  
设置播放器的高度  

loop  
loop  
设置视频是否循环播放(即播放完后继续重新播放)  

preload  
preload  
设置是否等加载完再播放  

src  
url  
设置要播放视频的url地址  

poster  
imgurl  
设置播放器初始默认显示图片  

autobuffer  
autobuffer  
设置为浏览器缓冲方式,不设置autoply才有效  

演示:

<video controls="controls" width="500px" height="500px" loop autoplay poster="imgUrl">
<source src=http://www.jb51.net/html5/"黑客之都.mp4" type="video/mp4"/>
<track src=http://www.jb51.net/html5/"a.vtt" label="中文" srclang="zh" kind="subtitles" default/>
</video>

二、.video标签API方法:Video标签也提供了比较人性化的API接口方法,供写JS时直接调用,方便简单

API  
事件说明  

addTextTrack()  
向音频/视频添加新的文本轨道。  

play  
video.play();    播放视频  

pause  
video.pause();  暂停播放视频  

load  
video.load();   将全部属性回复默认值,视频恢复重新开始状态  

canPlayType  
var support = videoid.canPlayType('video/mp4');   判断浏览器是否支持当前类型的视频格式 返回值: 空字符串:不支持 Maybe:可能支持 Probably:完全支持  

关于video标签的API接口在JS中用法如下:

<!DOCTYPE HTML>
<html>
<head>
<style>
video::cue{
background-color:transparent;
color:white;
font-size:20px;
line-height: 100px;
}
</style>
</head>
<body>

<video controls="controls" id="video1">
<source src=http://www.jb51.net/html5/"黑客之都.Hackerville.S01E01.720P.mp4" type="video/mp4"/>
<track src=http://www.jb51.net/html5/"a.vtt" label="中文字幕" srclang="zh" kind="subtitles" default/>
</video>
<button onclick="isPlay(this)">播放</button>
<button onclick="replay()">重新播放</button>
<button onclick="isPlayType()">浏览器支持</button>

<script>
var video1 = document.getElementById("video1"); //括号内为video标签的id
//播放视频(点击播放按钮,后变成暂停)
   function isPlay(obj1){
if(video1.paused){    //paused属于视频api属性
     obj1.innerHTML="暂停";
     video1.play();
    }else{
     obj1.innerHTML="播放";
     video1.pause();
    }
}

//重新从开头播放
function replay(){
video1.load();
}

//判断要播放的视频格式当前浏览器是否支持
function isPlayType(){
var support = video1.canPlayType("video/mp4");
console.log(support); //返回结果:空字符串、maybe(可能支持)、probably(支持)
}
</script>
</body>
</html>

三、video标签API属性: Video不仅提供了API接口,还提供了许多的API属性,方便在JS中做判断,如下:大部分属性通过boolean值判断

API属性  
事件说明  

duration  
返回媒体的播放总时长,单位秒  

loop  
是否循环播放  

muted  
是否静音  

paused  
是否暂停  

currentTime  
当前播放时间(单位:秒)  

volume  
音量值(0~1)  

networkState  
返回当前网络状态  

playbackRate  
播放的倍速(加速、减速播放)(-2~2)  

src  
当前视频源的URL  

ended  
返回当前播放是否结束标志  

error  
返回当前播放的错误状态  

initialTime  
返回初始播放的位置  

mediaGroup  
当前音视频所属媒体组 (用来链接多个音视频标签)  

played  
当前播放部件已经播放的时间范围(TimeRanges对象)  

preload  
页面加载时是否同时加载音视频  

readyState  
返回当前的准备状态  

seekable  
返回当前可跳转部件的时间范围(TimeRanges对象)  

audioTracks  
返回可用的音轨列表(MultipleTrackList对象)  

autoplay  
媒体加载后自动播放  

buffered  
返回缓冲部件的时间范围(TimeRanges对象)  

controller  
返回当前的媒体控制器(MediaController对象)  

controls  
显示播控控件  

crossOrigin  
CORS设置  

currentSrc  
返回当前媒体的URL  

defaultMuted  
缺省是否静音  

defaultPlaybackRate  
播控的缺省倍速  

seeking  
返回用户是否做了跳转操作  

startOffsetTime  
返回当前的时间偏移(Date对象)  

textTracks  
返回可用的文本轨迹(TextTrackList对象)  

videoTracks  
返回可用的视频轨迹(VideoTrackList对象)  

演示

#p#副标题#e#

<script>
function setting(){
video1.muted=true;
  //设置静音
video1.volume=0.2;
//设置音量,1等于100%
video1.playbackRate=2;    //2倍播放速度
video1.controls=false;    //不显示播控控件
}
</script>

四、音频/视频事件

事件  
描述  

abort  
当音频/视频的加载已放弃时触发。  

canplay  
当浏览器可以开始播放音频/视频时触发。  

canplaythrough  
当浏览器可在不因缓冲而停顿的情况下进行播放时触发。  

durationchange  
当音频/视频的时长已更改时触发。  

emptied  
当目前的播放列表为空时触发。  

ended  
当目前的播放列表已结束时触发。  

error  
当在音频/视频加载期间发生错误时触发。  

loadeddata  
当浏览器已加载音频/视频的当前帧时触发。  

loadedmetadata  
当浏览器已加载音频/视频的元数据时触发。  

loadstart  
当浏览器开始查找音频/视频时触发。  

pause  
当音频/视频已暂停时触发。  

play  
当音频/视频已开始或不再暂停时触发。  

playing  
当音频/视频在因缓冲而暂停或停止后已就绪时触发。  

progress  
当浏览器正在下载音频/视频时触发。  

ratechange  
当音频/视频的播放速度已更改时触发。  

seeked  
当用户已移动/跳跃到音频/视频中的新位置时触发。  

seeking  
当用户开始移动/跳跃到音频/视频中的新位置时触发。  

stalled  
当浏览器尝试获取媒体数据,但数据不可用时触发。  

suspend  
当浏览器刻意不获取媒体数据时触发。  

timeupdate  
当目前的播放位置已更改时触发。  

volumechange  
当音量已更改时触发。  

waiting  
当视频由于需要缓冲下一帧而停止时触发。  

到此这篇关于html5视频常用API接口的实战示例的文章就介绍到这了,更多相关html5视频API接口内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!

dawei

【声明】:北京站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。