zoukankan      html  css  js  c++  java
  • [转帖]HTML5 Audio/Video 标签,属性,方法,事件汇总

    <audio>标签属性:

    • src:音乐的URL
    • preload:预加载
    • autoplay:自动播放
    • loop:循环播放
    • controls:浏览器自带的控制条

    Html代码  

    1.   <audio id="media" src="http://www.abc.com/test.mp3" controls></audio>  

    <video>标签属性:

    • src:视频的URL
    • poster:视频封面,没有播放时显示的图片
    • preload:预加载
    • autoplay:自动播放
    • loop:循环播放
    • controls:浏览器自带的控制条
    • width:视频宽度
    • height:视频高度

    Html代码  

    1.   <video id="media" src="http://www.abc.com/test.mp4" controls width="400px" heigt="400px"></video>  

    获取HTMLVideoElement和HTMLAudioElement对象

    Js代码  

    1.   //audio可以直接通过new创建对象  

    2.   Media = new Audio("http://www.abc.com/test.mp3");  

    3.   //audiovideo都可以通过标签获取对象  

    4.   Media = document.getElementById("media");  

     

    Media方法和属性:

    HTMLVideoElement HTMLAudioElement 均继承自HTMLMediaElement

     Js代码  

    1.   //错误状态  

    2.      Media.error; //null:正常  

    3.      Media.error.code; //1.用户终止 2.网络错误 3.解码错误 4.URL无效  

    4.     

    5.   //网络状态  

    6.      Media.currentSrc; //返回当前资源的URL  

    7.      Media.src = value; //返回或设置当前资源的URL  

    8.      Media.canPlayType(type); //是否能播放某种格式的资源  

    9.      Media.networkState; //0.此元素未初始化  1.正常但没有使用网络  2.正在下载数据  3.没有找到资源  

    10.     Media.load(); //重新加载src指定的资源  

    11.     Media.buffered; //返回已缓冲区域,TimeRanges  

    12.     Media.preload; //none:不预载 metadata:预载资源信息 auto:  

    13.    

    14.  //准备状态  

    15.     Media.readyState;    //1:HAVE_NOTHING 2:HAVE_METADATA 3.HAVE_CURRENT_DATA 4.HAVE_FUTURE_DATA 5.HAVE_ENOUGH_DATA  

    16.     Media.seeking; //是否正在seeking  

    17.    

    18.  //回放状态  

    19.     Media.currentTime = value; //当前播放的位置,赋值可改变位置  

    20.     Media.startTime; //一般为0,如果为流媒体或者不从0开始的资源,则不为0  

    21.     Media.duration; //当前资源长度 流返回无限  

    22.     Media.paused; //是否暂停  

    23.     Media.defaultPlaybackRate = value;//默认的回放速度,可以设置  

    24.     Media.playbackRate = value;//当前播放速度,设置后马上改变  

    25.     Media.played; //返回已经播放的区域,TimeRanges,关于此对象见下文  

    26.     Media.seekable; //返回可以seek的区域 TimeRanges  

    27.     Media.ended; //是否结束  

    28.     Media.autoPlay;  //是否自动播放  

    29.     Media.loop;  //是否循环播放  

    30.     Media.play();    //播放  

    31.     Media.pause();   //暂停  

    32.    

    33.  //控制  

    34.     Media.controls;//是否有默认控制条  

    35.     Media.volume = value; //音量  

    36.     Media.muted = value; //静音  

    37.    

    38.     //TimeRanges(区域)对象  

    39.     TimeRanges.length; //区域段数  

    40.     TimeRanges.start(index) //index段区域的开始位置  

    41.     TimeRanges.end(index) //index段区域的结束位置  

     事件:

    Js代码  

    1.          eventTester = function(e){  

    2.       Media.addEventListener(e,function(){  

    3.           console.log((new Date()).getTime(),e);  

    4.       });  

    5.   }  

    6.     

    7.   eventTester("loadstart");   //客户端开始请求数据  

    8.   eventTester("progress");    //客户端正在请求数据  

    9.   eventTester("suspend");     //延迟下载  

    10.  eventTester("abort");       //客户端主动终止下载(不是因为错误引起),  

    11.  eventTester("error");       //请求数据时遇到错误  

    12.  eventTester("stalled");     //网速失速  

    13.  eventTester("play");        //play()autoplay开始播放时触发  

    14.  eventTester("pause");       //pause()触发  

    15.  eventTester("loadedmetadata");  //成功获取资源长度  

    16.  eventTester("loadeddata");  //  

    17.  eventTester("waiting");     //等待数据,并非错误  

    18.  eventTester("playing");     //开始回放  

    19.  eventTester("canplay");     //可以播放,但中途可能因为加载而暂停  

    20.  eventTester("canplaythrough"); //可以播放,歌曲全部加载完毕  

    21.  eventTester("seeking");     //寻找中  

    22.  eventTester("seeked");      //寻找完毕  

    23.  eventTester("timeupdate");  //播放时间改变  

    24.  eventTester("ended");       //播放结束  

    25.  eventTester("ratechange");  //播放速率改变  

    26.  eventTester("durationchange");  //资源长度改变  

    27.  eventTester("volumechange");    //音量改变  

  • 相关阅读:
    sql总结
    2018年6月10日笔记
    Docker入门之zabbix-agent篇
    2018年6月7日笔记
    2018年6月5日笔记
    Docker入门之container篇
    Docker入门之image篇
    Docker 入门
    2018年5月31日笔记
    2018年5月29日笔记
  • 原文地址:https://www.cnblogs.com/dajianshi/p/4346910.html
Copyright © 2011-2022 走看看