HTML5 video/audio监听事件属性及方法大全

来源:程序思维浏览:19855次
video(视频)和audio(音频)是一个很棒的媒体标签,代替了flash,兼容pc端、移动端、APP,但是它的api文档很少,网上找了一些也不是很全,正好这次做了个项目就是用到video和audio,也用到了好多接口:监听事件、属性和方法,现在我就把我整理好的接口文档分享给大家。

先写一下html代码:

video标签写法一:

<video id="media" src="视频地址" controls width="100%" height="300"></video> 

video标签写法二:

<video width="100%" height="300" controls="controls">
  <source src="movie.ogg" type="video/ogg">
  <source src="movie.mp4" type="video/mp4">
</video>

<video>标签属性:
  src:视频的URL
  poster:视频封面,没有播放时显示的图片
  preload:没有播放时预加载(设置autoplay属性时失效)
  autoplay:页面加载自动播放(移动端失效,微信里面需要用微信接口可以自动播放)
  loop:循环播放
  controls:浏览器自带的控制条
  width:视频宽度
  height:视频高度

audio标签写法一:

<audio id="media" src="音频地址" controls></audio>  

audio标签写法二:

<audio controls="controls">
  <source src="song.ogg" type="audio/ogg">
  <source src="song.mp3" type="audio/mpeg">
</audio>

<audio>标签属性:
  src:音乐的URL
  preload:没有播放时预加载(设置autoplay属性时失效)
  autoplay:页面加载自动播放(移动端失效,微信里面需要用微信接口可以自动播放)
  loop:循环播放
  controls:浏览器自带的控制条
 

javascript代码:

//获取audio和video的标签

var oMedia=document.getElementById("media");

属性:

属性(用法如:oMedia.error)说明
errornull:正常
error.code1.用户终止 2.网络错误 3.解码错误 4.URL无效
currentSrc返回当前资源的URL
src(常用)返回或设置当前资源的URL
networkState0.此元素未初始化  1.正常但没有使用网络  2.正在下载数据  3.没有找到
buffered返回已缓冲区域
preload没有播放时预加载(设置autoplay属性时失效)
readyState1:HAVE_NOTHING 2:HAVE_METADATA 3.HAVE_CURRENT_DATA 4.HAVE_FUTURE_DATA 5.HAVE_ENOUGH_DATA
seeking是否正在seeking
currentTime(常用)当前播放的位置,赋值可改变位置
startTime一般为0,如果为流媒体或者不从0开始的资源,则不为0
duration(常用)当前资源长度 流返回无限
paused(常用)是否暂停
defaultPlaybackRate默认的回放速度,可以设置
playbackRate当前播放速度,设置后马上改变。1.0 正常速度,0.5 半速(更慢),2.0 倍速(更快),-1.0 向后,正常速度,-0.5 向后,半速
played(常用)是否在播放
seekable返回可以seek的区域
ended(常用)是否结束(实际开发中可以用于判断当前媒体播放结束后,跳转下一个或上一个)
autoPlay(常用)页面加载自动播放(移动端失效,微信里面需要用微信接口可以自动播放)
loop是否循环播放
controls是否有默认控制条
volume音量:1.0 是最高音量(默认),0.5 是一半音量 (50%),0.0 是静音
muted静音


方法:

方法(用法如:oMedia.paly())说明
play()(常用)播放
pause()(常用)暂停
start(index)第index段区域的开始位置
end(index)第index段区域的结束位置
canPlayType(type)是否能播放某种格式的资源


监听事件:

代码示例:
//play()和autoplay开始播放时触发
oMedia.addEventListener("play",function(){  
    //在这里写代码
});  

事件说明
loadstart客户端开始请求数据
progress客户端正在请求数据
error请求数据时遇到错误 
stalled网速失速
play(常用)play()和autoplay开始播放时触发
pause(常用)暂停时触发
loadedmetadata当指定的音频/视频的元数据已加载时,会发生 loadedmetadata 事件。
loadeddata当当前帧的数据已加载,但没有足够的数据来播放指定音频/视频的下一帧时,会发生 loadeddata 事件。
waiting(常用)等待数据,并非错误(实际开发中网速慢时出现loading图标在这里写代码)
playing(常用)正在播放时触发。(实际开发中获取“当前时长”和“总时长”在这里写代码)
canplay可以播放,但中途可能因为加载而暂停
canplaythrough可以播放,歌曲全部加载完毕
seeking当用户开始移动/跳跃到音频/视频中的新位置时
seeked当用户已移动/跳跃到音频/视频中的新位置时
timeupdate播放时间改变
ended(常用)播放结束
ratechange播放速率改变
durationchange资源长度改变
volumechange音量改变


好了就写这么多,但是在实际开发当中我是没有用多少,大部分的都没有用到,用到的场景我已经标注了,希望对大家有帮助!
精品好课
Vue2+Vue3+ES6+TS+Uni-app开发微信小程序从入门到实战视频教程
2021年最新Vue2+Vue3+ES6+TypeScript和uni-app开发微信小程序从入门到实战视频教程,本课程教你如何快速学会VUE和uni-app并应用到实战,教你如何解决内存泄漏,常用UI库的使用,自己...
最新完整React+VUE视频教程从入门到精,企业级实战项目
React和VUE是目前最火的前端框架,就业薪资很高,本课程教您如何快速学会React和VUE并应用到实战,教你如何解决内存泄漏,常用库的使用,自己封装组件,正式上线白屏问题,性能优化等。对正在工作当中或打算学习Re...
HTML5基础入门视频教程易学必会
HTML5基础入门视频教程,教学思路清晰,简单易学必会。适合人群:创业者,只要会打字,对互联网编程感兴趣都可以学。课程概述:该课程主要讲解HTML(学习HTML5的必备基础语言)、CSS3、Javascript(学习...
jQuery视频教程从入门到精通
jquery视频教程从入门到精通,课程主要包含:jquery选择器、jquery事件、jquery文档操作、动画、Ajax、jquery插件的制作、jquery下拉无限加载插件的制作等等......
React实战视频教程仿京东移动端电商
React是前端最火的框架之一,就业薪资很高,本课程教您如何快速学会React并应用到实战,对正在工作当中或打算学习React高薪就业的你来说,那么这门课程便是你手中的葵花宝典。
最新完整React视频教程从入门到精通纯干货纯实战
React是目前最火的前端框架,就业薪资很高,本课程教您如何快速学会React并应用到实战,教你如何解决内存泄漏,常用UI库的使用,自己封装组件,正式上线白屏问题,性能优化等。对正在工作当中或打算学习React高薪就...
VUE2+VUE3视频教程从入门到精通(全网最全的Vue课程)
VUE是目前最火的前端框架之一,就业薪资很高,本课程教您如何快速学会VUE+ES6并应用到实战,教你如何解决内存泄漏,常用UI库的使用,自己封装组件,正式上线白屏问题,性能优化等。对正在工作当中或打算学习VUE高薪就...
HTML5视频播放器video开发教程
适用人群1、有html基础2、有css基础3、有javascript基础课程概述手把手教你如何开发属于自己的HTML5视频播放器,利用mp4转成m3u8格式的视频,并在移动端和PC端进行播放支持m3u8直播格式,兼容...
收藏
扫一扫关注我们