JavaScript控制视频播放需先获取video元素并等待loadedmetadata事件,再调用play()等方法;所有操作须在用户手势触发的上下文中进行,并注意自动播放限制。

在 JavaScript 中控制视频播放,核心是获取 <video></video> 元素的 DOM 对象,然后调用其内置方法、监听事件或读写属性。不需要额外库,原生 API 就足够灵活可靠。
获取视频元素并检查是否就绪
确保 DOM 加载完成后再操作,避免获取不到元素:
- 用
document.getElementById()或querySelector()拿到 video 标签 - 推荐监听
loadedmetadata事件,表示元信息(时长、尺寸等)已加载完毕,此时可安全调用play()或设置currentTime - 如果直接在
DOMContentLoaded里调用play(),可能因资源未加载而失败(尤其自动播放受浏览器策略限制)
常用播放控制方法
这些方法需在用户手势(如点击、触摸)触发的上下文中调用,否则现代浏览器会静音或拒绝播放:
-
video.play()— 开始播放(返回 Promise,可.catch(e => console.warn("播放被阻止", e))捕获拒绝) -
video.pause()— 暂停 -
video.load()— 重载媒体资源(例如切换 src 后调用) -
video.currentTime = 30— 跳转到第 30 秒(设值前建议先确认video.duration > 0) -
video.volume = 0.7— 设置音量(0~1) -
video.muted = true— 静音(对绕过自动播放限制很实用)
监听关键播放状态变化
通过事件了解当前行为是否成功或何时该更新 UI:
标签: javascript java 前端 浏览器 safari 异步加载
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~