HTML5音视频

-----video-----

支持的格式

视频:mp4 ogv webm    音频:mp3 ogg wav

 

标签用法

视频地址写在source标签里面,可以解决小部分兼容,

2020.4.13  video特别提醒现在浏览器不支持带声音的视频一加载就自动播放

<video><source src='...'></video>

<audio><source src='...'><audio>

 

preload属性preload='auto/meta/none' 

auto – 当页面加载后载入整个音频 
meta – 当页面加载后只载入元数据 (比如文件的大小,时长等)
none – 当页面加载后不载入音频

preload 属性规定是否在页面加载后载入音频和视频。 
如果设置了 autoplay 属性,则忽略该属性

 

video/audio常用属性

1.autoplay='autoplay'自动播放,在chrome下不会自动播放,但是设置muted属性可以自动播放

2.controls='controls'默认控制器

3.poster='播放前的视频封面图片'

4.loop  循环播放

5.muted 静音播放视频

5.width height src 

 

video/audio的API事件

1.play()播放事件

2.pause()暂停事件

3.onloadedmetadata() 源数据被加载事件,基本上都是以它开始,例:获取到video的id后,可以计算视频时间和点击开始按钮

4.ontimeupdate() 播放位置改变事件

5.onended() 播放结束事件

6.onvolumechange()  音量改变所触发的事件

7.onseeked()   进度跳到新位置后马上触发,只能用on

8.onseeking()  只要拖动位置,就会一直触发,直到拖动结束

9.requestFullScreen() 全屏  但必须在用户事件中调用

   moz : mozRequestFullScreen()

   webkit:webkitRequestFullscreen()    注意webkit里面screen的s是小写

        10.load()强制播放器刷新事件

       11.canplay()视频已经加载好时触发

video/audio的API属性

 v.networkState 视频的网络状态    有0,1,2,3状态码,0未初始化; 1视频已选取资源,但未使用网络;  2浏览器正下载资源;3未找到视频资源   

 特别注意: 应该在js总设置视频路径,不然loadedmetadata事件和canplay事件可能会捕捉不到

 v.onloadedmetadata=function(){

         1   v.duration   总时长    单位是秒

         2   v.playbackRate 播放速度  设置或获取,默认为1

         3   v.paused     是否暂停

         4   v.ended     是否结束

         5   v.muted     是否静音

         6   v.currentSrc   视频地址  资源准备后能加载播放,才能获取到地址,不能赋值

              v.src       也能获取地址,也可以设置  

}

  v.ontimeupdate=function(){

         7    v.currentTime 视频当前播放长度,可以获取,也可以设置

         8    v.buffered.end(0) 当前缓冲量

}

v.onvolumechange=function(){

         9    v.volume 视频当前音量  可获取也可设置,范围0~1;也就是0%~100%

}

 

 

 ----audio-----

支持的格式:

   mp3、ogg、wav ;  mp3格式所有浏览器都兼容

 

标签用法:大部分和video一样,但是可以用js去生成 new Audio(),video不可以

      

 

 

标签属性:

    1.autoplay   自动播放

    2.loop   循环播放

    3.width height  不能直接写在标签上,只能在style样式里面去写,这里和video有区别

 

标签API:和video大同小异

 

----AudioContext音频工作环境----

new AudioContext()  创建一个用来处理音频的工作环境,可以进行音频读取解码等,进行一些更低层的音乐操作;

   比如获取音乐频率;

 

 

 

 

 

 

-----video框架-----

video.js     官网文档   https://videojs.com/getting-started/

使用方法:

        1.引入js和css

               

 

 

        2.html

 

              

 

 

         

          3.js,还有很多api没写,大部分和原生差不多,只是封装了一次

               

 

posted @ 2019-05-05 16:36  fanbu  阅读(293)  评论(0编辑  收藏  举报