html5 web技术(html5视频常用API接口的实战示例)
html5 web技术
html5视频常用API接口的实战示例一、虽然有的属性是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="黑客之都.mp4" type="video/mp4"/> <track src="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="黑客之都.Hackerville.S01E01.720P.mp4" type="video/mp4"/> <track src="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对象)
演示
<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接口内容请搜索开心学习网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持开心学习网!
- 微信html5页面怎么制作(HTML5中外部浏览器唤起微信分享功能的代码)
- html5实现上传图片预览
- html5加入图片(HTML5 图片预加载的示例代码)
- html5按钮点击跳转(HTML5页面嵌入小程序没有返回按钮及返回页面空白的问题)
- html5单选项怎么调选项间距(html5实现输入框fixed定位在屏幕最底部兼容性)
- html5开发图片(HTML5开发动态音频图的实现)
- html5 固定图片(HTML5拖放API实现自动生成相框功能)
- html5底部组件(HTML5 Blob对象的具体使用)
- html5复选框属性教程(HTML5单选框、复选框、下拉菜单、文本域的实现代码)
- html5常用标记(HTML5超文本标记语言的实现方法)
- html5canvas动画(html5 canvas 实现光线沿不规则路径运动)
- html5中的语义化标签有哪些(详解HTML5常用的语义化标签)
- vue加载html5动画(vue实现旋转木马动画)
- html5定位教学(Html5 webview元素定位工具的实现)
- html5课程入门(萌新的HTML5 入门指南)
- html5定位地理位置(html5 制作地图当前定位箭头的方法示例)
- 收藏 春节假期,这些景区巨划算(收藏春节假期这些景区巨划算)
- 景区游玩,这些安全知识要牢记(这些安全知识要牢记)
- 各地出招烘 热 旅游(各地出招烘热旅游)
- 2021款起亚霸锐到店了 更换车标,竞争宝马X5有戏吗(2021款起亚霸锐到店了)
- 新款起亚霸锐实拍,比普拉多气派,配3.0T V6,引入国内或许能大卖(新款起亚霸锐实拍)
- ()
热门推荐
- python使用门算法加密文件(python实现栅栏加解密 支持密钥加密)
- docker 启动rabbitmq(docker安装rabbitmq无法进入管理页面的问题)
- vue-router的两种模式(vue-route路由管理的安装与配置方法)
- pandas删除存在空值的列(详解pandas.DataFrame中删除包涵特定字符串所在的行)
- python接口管理系统(基于Python实现用户管理系统)
- 免备案服务器云服务器(香港免备案云服务器的优势有哪些?)
- sql触发器编写教程(SQL Server 使用触发器trigger发送电子邮件步骤详解)
- dedecms独立页面怎么加(DEDECMS实现文章tag关键词自动生成列表页的方法)
- sqlserver索引策略(SQLServer性能优化--间接实现函数索引或者Hash索引)
- html5代码之翻页(HTML5实现直播间评论滚动效果的代码)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9