JavaScript通过元素DOM接口控制媒体,需先获取元素并监听loadedmetadata事件确保readyState≥2再操作;常用方法包括play()、pause()、load(),属性含currentTime、volume、paused等;须遵守自动播放策略,静音视频可自动播放,有声媒体需用户交互后调用play()。

JavaScript 通过 <video></video> 和 <audio></audio> 元素的 DOM 接口控制媒体播放,核心是获取元素引用后调用其方法、监听事件、读写属性。
获取媒体元素并检查就绪状态
先用 document.querySelector 或 getElementById 获取元素,再确认是否已加载元数据(如时长、尺寸),避免调用方法时报错:
-
video.readyState为HTMLMediaElement.HAVE_METADATA(2)或更高值时,才能安全调用play()、读取duration - 推荐监听
loadedmetadata事件,而非轮询readyState - 示例:const video = document.getElementById('myVideo');
video.addEventListener('loadedmetadata', () => { console.log('时长:', video.duration); });
常用播放控制方法与属性
直接操作播放行为和状态:
-
play()启动播放(可能返回 Promise,需处理拒绝,例如用户未交互导致被浏览器阻止) -
pause()暂停播放 -
load()重载资源(清空缓冲、重置状态) -
currentTime读写当前播放位置(秒,可设为小数) -
volume音量(0.0–1.0),muted控制静音 -
paused(布尔值)、ended、seeking等只读属性用于判断状态
关键事件监听实现精准响应
媒体生命周期中多个事件可用于反馈与干预:
标签: javascript java html 浏览器 safari ios 区别
还木有评论哦,快来抢沙发吧~