HTML5 DOM 为<video>和<audio>元素提供了方法、属性和事件
这些方法、属性和事件允许您使用 JavaScript 来操作<video>和<audio>元素
一.【video/audio(视频/音频)方法】
(1)addTextTrack() 向音频/视频添加新的文本轨道,新的 TextTrack 对象会被添加到视频/音频元素的文本轨道列表中
【兼容:目前无浏览器支持】
<button onclick="addNewTextTrack()" type="button">添加一个新的文本轨道</button> <br /> <br /> <video id="video1" controls="controls"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.mp4" type="video/mp4"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.ogg" type="video/ogg"> Your browser does not support HTML5 video. </video> <script> myVid=document.getElementById("video1"); function addNewTextTrack(){ text1=myVid.addTextTrack("caption"); text1.addCue(new TextTrackCue("Test text", 01.000, 04.000,"","","",true)); } </script>
(2)canPlayType() 检测浏览器是否能播放指定的音频/视频类型
【兼容:所有浏览器都支持 canPlayType() 方法,IE8及之前的版本不支持】
canPlayType() 方法可返回下列值之一:
①"probably" - 浏览器最可能支持该音频/视频类型
②"maybe" - 浏览器也许支持该音频/视频类型
③"" - (空字符串)浏览器不支持该音频/视频类型
<p>我的浏览器能够播放 MP4 视频吗?<span> <button onclick="supportType(event,'video/mp4','avc1.42E01E, mp4a.40.2')" type="button">测试</button> </span></p> <p>我的浏览器能够播放 OGG 视频吗?<span> <button onclick="supportType(event,'video/ogg','theora, vorbis')" type="button">测试</button> </span></p> <script> function supportType(e,vidType,codType){ myVid=document.createElement('video'); isSupp=myVid.canPlayType(vidType+';codecs="'+codType+'"'); if (isSupp==""){ isSupp="No"; } e.target.parentNode.innerHTML="Answer: " + isSupp; } </script>
(3)load() 重新加载音频/视频元素,用于在更改来源或其他设置后对音频/视频元素进行更新
【兼容:除了safari及IE8和之前版本,其他浏览器均兼容】
<button onclick="changeSource()" type="button">更改视频</button> <br /> <br /> <video id="video1" controls="controls" autoplay="autoplay"> <source id="mp4_src" src="http://www.w3school.com.cn/example/html5/mov_bbb.mp4" type="video/mp4"> <source id="ogg_src" src="http://www.w3school.com.cn/example/html5/mov_bbb.ogg" type="video/ogg"> Your browser does not support HTML5 video. </video> <script> function changeSource() { document.getElementById("mp4_src").src="movie.mp4"; document.getElementById("ogg_src").src="movie.ogg"; document.getElementById("video1").load(); } </script>
(4)播放/暂停视频
①play() 开始播放音频/视频
②pause() 暂停音频/视频
【兼容:除了IE8及之前版本,其他浏览器均兼容】
<button onclick="playVid()" type="button">播放视频</button> <button onclick="pauseVid()" type="button">暂停视频</button> <br /> <br /> <video id="video1"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.mp4" type="video/mp4"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.ogg" type="video/ogg"> Your browser does not support HTML5 video. </video> <script> var myVideo=document.getElementById("video1"); function playVid(){ myVideo.play(); } function pauseVid(){ myVideo.pause(); } </script>
二.【video/audio(视频/音频)属性】
(1)audioTracks 返回表示可用音轨的 AudioTrackList 对象,AudioTrackList 对象表示音视频的可用音轨
【兼容:任何主流浏览器均不支持】
(2)autoplay 加载完成后随即播放音频/视频
【兼容:除了IE8 及之前版本外,其他浏览器均支持】
<button onclick="enableAutoplay()" type="button">启用自动播放</button> <button onclick="disableAutoplay()" type="button">禁用自动播放</button> <button onclick="checkAutoplay()" type="button">检查自动播放状态</button> <br> <video id="video1" controls="controls"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.mp4" type="video/mp4"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.ogg" type="video/ogg"> Your browser does not support HTML5 video. </video> <script> myVid=document.getElementById("video1"); function enableAutoplay(){ myVid.autoplay=true; myVid.load(); } function disableAutoplay(){ myVid.autoplay=false; myVid.load(); } function checkAutoplay(){ alert(myVid.autoplay); } </script> <p>Video courtesy of <a href="http://www.bigbuckbunny.org/" target="_blank"> Big Buck Bunny大巴克兔子</a>.</p>
(3)buffered 返回表示音频/视频已缓冲部分的 TimeRanges(时间缓存)对象
获得视频的第一段缓冲范围(部分),以秒计
<button onclick="getFirstBuffRange()" type="button">获得首个已缓冲范围</button> <br> <video id="video1" controls="controls"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.mp4" type="video/mp4"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.ogg" type="video/ogg"> Your browser does not support HTML5 video. </video> <script> myVid=document.getElementById("video1"); function getFirstBuffRange(){ alert("Start: " + myVid.buffered.start(0) + " End: " + myVid.buffered.end(0)); } </script>
(4)controller 返回表示音频/视频当前媒体控制器的 MediaController 对象
默认地,音视频元素不会有媒体控制器。如果规定了媒体控制器,controller 属性将以 MediaController 的形式返回它。
【兼容:任何主流浏览器都不支持 controller(调节器)属性】
(5)controls 设置或返回音频/视频是否显示控件(比如播放/暂停等)
【兼容:除了IE8及之前版本外,其他主流浏览器均兼容】
标准的音视频控件包括:播放,暂停,进度条,音量,全屏切换(供视频),字幕(当可用时),轨道(当可用时)
用法:true---显示控件;false---默认,不显示控件
<button onclick="enableControls()" type="button">启动控件</button> <button onclick="disableControls()" type="button">禁用控件</button> <button onclick="checkControls()" type="button">检查控件的状态</button> <br> <video id="video1"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.mp4" type="video/mp4"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.ogg" type="video/ogg"> Your browser does not support HTML5 video. </video> <script> myVid=document.getElementById("video1"); function enableControls(){ myVid.controls=true; myVid.load(); } function disableControls(){ myVid.controls=false; myVid.load(); } function checkControls(){ alert(myVid.controls); } </script>
(6)crossOrigin 设置或返回音频/视频的 CORS 设置
(7)currentSrc (当前Src) 返回当前音频/视频的 URL,如果未设置音频/视频,则返回空字符串
【兼容:除了IE8及之前版本外,其他主流浏览器均兼容】
<button onclick="getVid()" type="button">获得当前视频的 URL</button> <br /> <br /> <video id="video1" controls="controls"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.mp4" type="video/mp4"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.ogg" type="video/ogg"> Your browser does not support HTML5 video. </video> <script> myVid=document.getElementById("video1"); function getVid() { alert(myVid.currentSrc); } </script>
(8)currentTime 设置或返回音频/视频中的当前播放位置(以秒计),当设置该属性时,播放会跳跃到指定的位置
【兼容:除了IE8及之前版本外,其他主流浏览器均兼容】
将时间位置设置为 5 秒:
<button onclick="getCurTime()" type="button">获得当前时间的位置</button> <button onclick="setCurTime()" type="button">把时间位置设置为 5 秒</button> <br /> <br /> <video id="video1" controls="controls"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.mp4" type="video/mp4"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.ogg" type="video/ogg"> Your browser does not support HTML5 video. </video> <script> myVid=document.getElementById("video1"); function getCurTime(){ alert(myVid.currentTime); } function setCurTime(){ myVid.currentTime=5; } </script>
(9)defaultMuted(默认静音) 设置或返回音频/视频默认是否静音
【兼容:仅Google Chrome 支持 defaultMuted 属性】
【注释:】设置该属性仅会改变默认的静音状态,而不是当前的。要改变当前的静音状态,请使用 muted(静音)属性
<button onclick="getMuted()" type="button">该视频默认是静音的吗?</button> <button onclick="setToMuted()" type="button">把视频设置为默认静音,并重载视频</button> <br /> <br /> <video id="video1" controls="controls"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.mp4" type="video/mp4"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.ogg" type="video/ogg"> Your browser does not support HTML5 video. </video> <script> myVid=document.getElementById("video1"); function getMuted(){ alert(myVid.defaultMuted); } function setToMuted(){ myVid.defaultMuted=true; myVid.load() } </script>
(10)muted(静音) 设置或返回音频/视频是否应该被静音(关闭声音)
【兼容:除了IE8及之前版本外,其他主流浏览器均兼容】
【注意:】true----关闭音频/视频声音;false----默认,打开音频/视频声音
<button onclick="enableMute()" type="button">关闭声音</button> <button onclick="disableMute()" type="button">打开声音</button> <button onclick="checkMute()" type="button">检查静音状态</button> <br /> <br /> <video id="video1" controls="controls"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.mp4" type="video/mp4"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.ogg" type="video/ogg"> Your browser does not support HTML5 video. </video> <script> myVid=document.getElementById("video1"); function enableMute(){ myVid.muted=true; } function disableMute(){ myVid.muted=false; } function checkMute(){ alert(myVid.muted); } </script>
(11)defaultPlaybackRate 设置或返回音频/视频的默认播放速度
【兼容:仅Google Chrome 支持 defaultPlaybackRate(默认回放速度)属性】
设置该属性仅会改变默认的播放速度,而不是当前的。要改变当前的播放速度,请使用 playbackRate(回放速度)属性
<button onclick="getPlaySpeed()" type="button">默认的播放速度是多少?</button> <button onclick="setPlaySpeed()" type="button">把视频设置为慢速播放</button> <br /> <br /> <video id="video1" controls="controls"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.mp4" type="video/mp4"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.ogg" type="video/ogg"> Your browser does not support HTML5 video. </video> <script> myVid=document.getElementById("video1"); function getPlaySpeed(){ alert(myVid.defaultPlaybackRate); } function setPlaySpeed(){ myVid.defaultPlaybackRate=0.5; myVid.load(); } </script>
(12)playbackRate 设置或返回音频/视频播放的速度
【兼容:只有 Google Chrome 和 Safari 支持 playbackRate(回放速度)属性】
语法:audio|video.playbackRate=playbackspeed
【回放速度】playbackspeed(回放速度)为音频/视频的当前播放速度例值:
数值:1.0 正常速度;0.5 半速(更慢);2.0 倍速(更快);-1.0 向后,正常速度;-0.5 向后,半速
<button onclick="getPlaySpeed()" type="button">播放速度是多少?</button> <button onclick="setPlaySpeed()" type="button">将视频设置为以慢速播放</button> <br /> <br /> <video id="video1" controls="controls"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.mp4" type="video/mp4"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.ogg" type="video/ogg"> Your browser does not support HTML5 video. </video> <script> myVid=document.getElementById("video1"); function getPlaySpeed(){ alert(myVid.playbackRate); } function setPlaySpeed(){ myVid.playbackRate=0.5; } </script>
(13)duration(持续时间) 返回当前音频/视频的长度(以秒计),如果未设置音频/视频,则返回 NaN (Not-a-Number)
【兼容:除了IE8及之前版本,其他主流浏览器均兼容】
<button onclick="getVidDur()" type="button">获得视频的长度</button> <br /> <br /> <video id="video1" controls="controls"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.mp4" type="video/mp4"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.ogg" type="video/ogg"> Your browser does not support HTML5 video. </video> <script> myVid=document.getElementById("video1"); function getVidDur(){ alert(myVid.duration); } </script>
(14)ended 返回音频/视频的播放是否已结束,
如果播放位置位于音频/视频的结尾时,则音频/视频已结束。返回true,否则返回false
【兼容:除了IE8及之前版本,其他主流浏览器均兼容】
<button onclick="hasVidEnded()" type="button">该视频播放是否已结束?</button> <br /> <br /> <video id="video1" controls="controls"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.mp4" type="video/mp4"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.ogg" type="video/ogg"> Your browser does not support HTML5 video. </video> <script> myVid=document.getElementById("video1"); function hasVidEnded(){ alert(myVid.ended); } </script>
(15)error 返回表示音频/视频错误状态的 MediaError(媒体错误)对象,MediaError 对象的 code 属性包含了音频/视频的错误状态
true---设置音频/视频在结束时再次播放;false---默认,设置音频/视频禁止在结束时循环播放
【兼容:只有 Internet Explorer 9 支持 error 属性】
获得视频的错误状态:
myVid=document.getElementById("video1"); alert(myVid.error.code);
(16)loop(循环) 设置或返回音频/视频是否应在结束时重新播放
【兼容:除了IE8及之前版本,其他主流浏览器均兼容】
将视频设置为循环播放:
<button onclick="enableLoop()" type="button">启用循环</button> <button onclick="disableLoop()" type="button">禁用循环</button> <button onclick="checkLoop()" type="button">检查循环的状态</button> <br /> <br /> <video id="video1" controls="controls"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.mp4" type="video/mp4"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.ogg" type="video/ogg"> Your browser does not support HTML5 video. </video> <script> myVid=document.getElementById("video1"); function enableLoop(){ myVid.loop=true; myVid.load(); } function disableLoop(){ myVid.loop=false; myVid.load(); } function checkLoop(){ alert(myVid.loop); } </script>
(17)mediaGroup 设置或返回音频/视频所属的组合(用于连接多个音频/视频元素)
媒体分组允许两个或更多音频/视频元素保持同步。
【兼容:没有主流浏览器支持】
为两段视频设置媒体组合:
<button onclick="getMedGroup()" type="button">获得视频的媒体组合</button> <button onclick="setMedGroup()" type="button">设置视频的媒体组合</button> <br /> <br /> <video id="video1" controls="controls"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.mp4" type="video/mp4"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.ogg" type="video/ogg"> Your browser does not support HTML5 video. </video> <video id="video2" controls="controls"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.mp4" type="video/mp4"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.ogg" type="video/ogg"> Your browser does not support HTML5 video. </video> <script> myVid1=document.getElementById("video1"); myVid2=document.getElementById("video2"); function getMedGroup(){ alert("Video 1 media group: " + myVid1.mediaGroup + ". Video 2 media group: " + myVid2.mediaGroup); } function setMedGroup(){ myVid1.mediaGroup="test"; myVid2.mediaGroup="test"; } </script>
(18)networkState(网络状态) 返回音频/视频的当前网络状态
【兼容:除了IE8及之前版本外,其他浏览器均不兼容】
获得视频的当前网络状态:
myVid=document.getElementById("video1"); alert(myVid.networkState);数字值
表示音频/视频元素的当前网络状态:
0 = NETWORK_EMPTY - 音频/视频尚未初始化
1 = NETWORK_IDLE - 音频/视频是活动的且已选取资源,但并未使用网络
2 = NETWORK_LOADING - 浏览器正在下载数据
3 = NETWORK_NO_SOURCE - 未找到音频/视频来源
(19)paused(暂停) 返回音频/视频是否暂停,设置的话用pause()方法
【兼容:除了IE8及之前版本外,其他浏览器均兼容】
myVid=document.getElementById("video1"); alert(myVid.paused);
(20)played 返回表示音频/视频已播放部分的 TimeRanges(时间范围)对象
【兼容:除了IE8及之前版本外,其他浏览器均不兼容】
myVid=document.getElementById("video1"); alert("Start: " + myVid.played.start(0) + " End: " + myVid.played.end(0));
(21)preload(预加载) 设置或返回音频/视频是否应该在页面加载后进行加载
【兼容:所有主流浏览器都支持 seekable(可查找)属性,除了IE8及之前版本不支持,其他浏览器均兼容】
(22)readyState(就绪状态) 返回音频/视频当前的就绪状态,就绪状态指示音频/视频是否已准备好播放
【兼容:除了IE8及之前版本外,其他浏览器均不兼容】
获得视频的就绪状态:
myVid=document.getElementById("video1"); alert(myVid.readyState);
数字值
表示音频/视频元素的就绪状态:
0 = HAVE_NOTHING - 没有关于音频/视频是否就绪的信息
1 = HAVE_METADATA - 关于音频/视频就绪的元数据
2 = HAVE_CURRENT_DATA - 关于当前播放位置的数据是可用的,但没有足够的数据来播放下一帧/毫秒
3 = HAVE_FUTURE_DATA - 当前及至少下一帧的数据是可用的
4 = HAVE_ENOUGH_DATA - 可用数据足以开始播放
(23)seekable(可查找) 返回表示音频/视频可寻址部分的 TimeRanges(时间范围)对象
TimeRanges 对象表示音频/视频中用户可寻址的范围,可寻址范围指的是用户在音频/视频中可寻址(移动播放位置)的时间范围。
对于流视频,通常可以寻址到视频中的任何位置,即使其尚未完成缓冲
myVid=document.getElementById("video1"); function getFirstSeekableRange(){ alert("Start: " + myVid.seekable.start(0) + " End: " + myVid.seekable.end(0)); }
(24)seeking(正在查找) 返回用户是否正在音频/视频中进行查找,寻址中(Seeking)指的是用户在音频/视频中移动/跳跃到新的位置
布尔值:true|false----如果用户正在寻址,则为 true;否则为 false
【兼容:除了IE8及之前版本,其他浏览器均兼容】
显示出用户是否正在视频中寻址:
<script> function isSeeking() { myVid=document.getElementById("video1"); document.getElementById("span1").innerHTML=("Seeking: " + myVid.seeking); } </script> <video id="video1" controls="controls" onseeking="isSeeking()" onseeked="isSeeking()"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.mp4" type="video/mp4"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.ogg" type="video/ogg"> Your browser does not support HTML5 video. </video> <p>试着在视频中寻址:<span id="span1"></span></p>
(25)src设置或返回音频/视频元素的当前来源
【兼容:除了IE不支持外,其他浏览器均兼容】
<button onclick="changeSource()" type="button">改变视频</button> <br /> <br /> <video id="video1" controls="controls" autoplay="autoplay"> <source id="mp4_src" src="http://www.w3school.com.cn/example/html5/mov_bbb.mp4" type="video/mp4"> <source id="ogg_src" src="http://www.w3school.com.cn/example/html5/mov_bbb.ogg" type="video/ogg"> Your browser does not support HTML5 video. </video> <script> myVid=document.getElementById("video1"); function changeSource(){ isSupp=myVid.canPlayType("video/mp4"); if (isSupp==""){ myVid.src="movie.ogg"; }else{ myVid.src="movie.mp4"; } myVid.load(); } </script>
(26)startDate(开始日期) 返回表示当前时间偏移的 Date(日期)对象,startDate 属性用于获得经由因特网的精确的音频/视频流同步
【兼容:所有浏览器均不支持】
(27)textTracks(文本轨道) 返回表示可用文本轨道的 TextTrackList(文本轨道列表)对象,每条可用的文本轨道是由 TextTrack 对象表示的
【兼容:无浏览器支持】
获得可用文本轨道的数量:
myVid=document.getElementById("video1"); alert(myVid.textTracks.length);
(28)videoTracks(视频轨道) 返回表示可用视频轨道的 VideoTrackList(视频轨道列表)对象
【兼容:无浏览器支持】
获得可用视频轨道的数量:
myVid=document.getElementById("video1"); alert(myVid.videoTracks.length);
(29)volume(音量) 设置或返回音频/视频的音量
将视频音量设置为 20%:
<button onclick="getVolume()" type="button">音量是多少?</button> <button onclick="setHalfVolume()" type="button">把音量设置为 0.2</button> <button onclick="setFullVolume()" type="button">把音量设置为 1.0</button> <br /> <br /> <video id="video1" controls="controls"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.mp4" type="video/mp4"> <source src="http://www.w3school.com.cn/example/html5/mov_bbb.ogg" type="video/ogg"> Your browser does not support HTML5 video. </video> <script> myVid=document.getElementById("video1"); function getVolume(){ alert(myVid.volume); } function setHalfVolume(){ myVid.volume=0.2; } function setFullVolume(){ myVid.volume=1.0; } </script>
三.【 Video/Audio(视频/音频)事件】
当音频/视频处于加载过程中时,会依次发生以下事件:
loadstart记载启动------durationchange持续时间变化------loadedmetadata加载元数据------loadeddata加载数据------progress进度------canplay可以播放------canplaythrough可以播放完毕
(1)abort(退出) 当音频/视频的加载已放弃时
(2)canplay 当浏览器可以播放音频/视频时,发生 canplay 事件
【兼容:除了IE8及之前版本不支持外,其他浏览器均兼容】
myVid=document.getElementById("video1"); myVid.oncanplay=alert("Can start playing video");
在 HTML 中:
<audio|video oncanplay="SomeJavaScriptCode">
在 JavaScript 中:
audio|video.oncanplay=SomeJavaScriptCode;
使用 addEventListener()://事件监听
audio|video.addEventListener("canplay", function() { //SomeJavaScriptCode } );
(3)canplaythrough 当浏览器可在不因缓冲而停顿的情况下进行播放时,会发生 canplaythrough 事件
【兼容:除了IE8及之前版本不支持外,其他浏览器均兼容】
提示视频能够不停顿地一直播放:
myVid=document.getElementById("video1"); myVid.oncanplaythrough=alert("Can play through video without stopping");
(4)durationchange(时间变化) 音频/视频的时长已更改时
【兼容:除了IE8及之前版本不支持外,其他浏览器均兼容】
当指定音频/视频的时长数据发生变化时,发生 durationchange 事件
当音频/视频加载后,时长将由 "NaN" 变为音频/视频的实际时长
myVid=document.getElementById("video1"); myVid.ondurationchange=alert("The video duration has changed");
(5)emptied(清空) 当目前的播放列表为空时
(6)ended 当目前的播放列表已结束时
(7)error 当在音频/视频加载期间发生错误时
(8)loadeddata 当浏览器已加载音频/视频的当前帧时
当前帧的数据已加载,但没有足够的数据来播放指定音频/视频的下一帧时,会发生 loadeddata 事件
【兼容:除了IE8及之前版本不支持外,其他浏览器均兼容】
myVid=document.getElementById("video1"); myVid.onloadeddata=alert("Browser has loaded the current frame");
(9)loadedmetadata(加载元数据) 当浏览器已加载音频/视频的元数据时
【兼容:除了IE8及之前版本不支持外,其他浏览器均兼容】
当指定的音频/视频的元数据已加载时,会发生 loadedmetadata 事件
音频/视频的元数据包括:时长、尺寸(仅视频)以及文本轨道
myVid=document.getElementById("video1"); myVid.onloadedmetadata=alert("Meta data for video loaded");
(10)loadstart 当浏览器开始查找音频/视频时
当浏览器开始寻找指定的音频/视频时,会发生 loadstart 事件。即当加载过程开始时
【兼容:除了IE8及之前版本不支持外,其他浏览器均兼容】
提示音频的元数据已加载:
myVid=document.getElementById("video1"); myVid.onloadstart=alert("Starting to load video");
(11)pause 当音频/视频已暂停时
(12)play 当音频/视频已开始或不再暂停时
(13)playing 当音频/视频在已因缓冲而暂停或停止后已就绪时
(14)progress 当浏览器正在下载或加载音频/视频时,会发生进程 progress 事件
提示视频正在下载或加载中:
myVid=document.getElementById("video1"); myVid.onprogress=alert("Starting to load video");
(15)ratechange(速度变化) 当音频/视频的播放速度已更改时
(16)seeked(已查找) 当用户已移动/跳跃到音频/视频中的新位置时
(17)seeking(查找中) 当用户开始移动/跳跃到音频/视频中的新位置时
(18)stalled(停滞) 当浏览器尝试获取媒体数据,但数据不可用时
(19)suspend(暂停) 当浏览器刻意不获取媒体数据时
(20)timeupdate(时间更新) 当目前的播放位置已更改时
(21)volumechange(音量更改) 当音量已更改时
(22)waiting 当视频由于需要缓冲下一帧而停止
.
相关推荐
H5/微信/抖音小程序APP在线教育培训知识付费变现直播视频音频图文课程课堂 答题 DIY装修 卖课 导师 入驻 活动报名 分销商户 前端vue编译过的h5文件、源码内有微信小程序和抖音小程序代码 文章最后有目录截图 支持...
【基于H5的PC端视频播放器源码】是一个利用HTML5、CSS3以及JavaScript技术构建的网页视频播放器。这个播放器具有基础但实用的功能,包括调整音量、控制播放进度以及全屏播放,同时也涉及到如何精确计算视频的播放...
随着H5的兴起,传统的C/S构架产品逐步迁移到B/S架构上,但是H5的版本演进一直没能很好的解决实时视频播放的问题,从HLS到WebRtc 再到 Wasm 都伴随着它的问题, HLS延迟大满足不了实时流性要求; WebRTC 复杂以及更...
总的来说,这个H5视频播放插件是一个全面的解决方案,涵盖了从视频解码、音频处理到实时通信的多个方面,尤其适合需要在网页中集成高质量视频播放功能的应用,比如在线教育、直播平台或者监控系统。同时,由于支持...
在本文中,我们将深入探讨如何使用ReactjsPlayer,这是一个基于React Hooks的H5视频播放组件。ReactjsPlayer因其代码简洁、扩展性强而受到开发者们的欢迎。让我们一起学习这个组件的核心特性,以及如何在实际项目中...
本篇文章将详细探讨如何使用纯H5来实现视频动画效果,以及这种方法的优势和应用场景。 一、HTML5 Video元素 HTML5中的`<video>`元素是实现视频播放的核心。通过这个元素,我们可以直接在网页上嵌入视频,而无需...
HTML5引入了内置的音频和视频元素,使得开发者无需依赖Flash等外部插件就能在网页上实现媒体播放。本主题将深入探讨HTML5中的音频和视频播放插件,特别是JPlayer、JWPlayer以及VideoJS,它们都是为了提升用户体验,...
2. **音视频SDK**:该SDK可能包含了一系列的接口和组件,如音频编码/解码器、视频编码/解码器、麦克风和摄像头访问、音视频流传输等,这些都是实时通信应用的基础。 3. **视频会议SDK**:这部分SDK提供了创建和管理...
海康威视H5播放器是一款基于HTML5技术的网络视频播放器,旨在提供一个无需浏览器插件的解决方案,通过WebSocket协议与媒体服务交互,播放多种格式的音视频流。这款播放器支持主流的浏览器,如Chrome、Internet ...
它允许服务器向客户端推送实时视频和音频数据,以实现低延迟的直播体验。然而,由于H5标准并不直接支持RTMP,我们需要借助一些特定的解决方案来实现在浏览器中播放RTMP流。 其中一个常见的解决方案是使用Flash ...
H5音频播放器是实现网页音频播放功能的核心组件,它允许用户在浏览器内直接播放、控制音频内容。在这个场景中,我们关注的是一个具有播放列表、时间轴以及前后首切换功能的H5音频播放器。这个播放器不仅提供了基本的...
2. 多媒体支持:此版本的H5player优化了对音频、视频、图像等多媒体资源的处理,提供流畅的播放体验,支持常见格式如MP4、WebM、Ogg等。 3. 自定义交互:H5player-2.1.2支持用户自定义控件和界面,可以根据需求定制...
【标题】:“仿酷6 h5 视频网站 手机app”指的是一个基于HTML5技术构建的视频分享平台,其设计灵感来源于酷6网,旨在为用户提供在手机应用程序上观看和分享视频的服务。这样的应用通常具有响应式设计,能够适应不同...
HTML5是现代网页开发的标准,它引入了许多新的元素和API,包括音频和视频的内建支持。通过`<video>`标签,开发者可以直接在网页上嵌入视频内容,同时提供了播放、暂停、音量控制等基本功能。 2. **竖屏视频适配**...
3. **多媒体支持**:H5直接支持音频、视频播放,无需Flash插件,`<audio>`和`<video>`标签让媒体元素的使用更加便捷。 4. **Canvas绘图**:提供了一个二维画布,通过JavaScript可以进行动态图形绘制,实现了丰富的...
调用这个方法时,你需要提供一个包含所需的音频或视频权限的媒体约束。 3. **MediaRecorder API**:利用getUserMedia获取的媒体流,我们可以启动MediaRecorder对象来开始录音。MediaRecorder对象提供了开始、停止和...
【uni-app-video】是一款专为uni-app框架设计的视频播放组件,它支持在后台持续播放音频,这在开发音乐播放应用或有音频背景需求的项目中尤其重要。uni-app作为一个多端开发框架,允许开发者使用一套代码实现跨平台...
"h5视频播放器"是基于 plyr.js 库构建的一个解决方案,旨在为开发者提供一个易于集成、功能丰富的视频播放组件,以满足在网页上流畅播放视频的需求。 Plyr.js 是一个开源的HTML5视频和音频播放器,它具有自定义样式...
2. 性能优化:前端处理大量图像和音频数据可能影响用户体验,需要优化算法和代码结构。 3. 用户隐私保护:在收集和处理人脸数据时,必须遵守相关法律法规,确保用户隐私安全。 4. 抗干扰能力:系统应具备一定的抗...
WebRTC包含一系列组件,如PeerConnection用于建立和管理两端之间的连接,MediaStream用于捕获和处理音频、视频流,以及Signaling用于信令传输。 3. **H5播放RTSP视频流的挑战**:HTML5的原生`<video>`标签并不支持...