JavaScript控制音视频核心是操作audio/video元素API:通过play()/pause()控制启停,currentTime跳转,duration获取时长;用timeupdate事件同步进度条,input/change事件实现拖拽;volume/muted/playbackRate控制音量、静音和倍速;监听canplay、playing、ended、error等事件处理状态与错误。

用 JavaScript 控制音视频,核心是操作 <audio></audio> 和 <video></video> 元素的原生 API。自定义播放器就是隐藏默认控件,用 JS 绑定按钮、进度条、音量滑块等,再调用对应方法和监听事件来实现交互。
基础控制:播放、暂停、跳转
获取媒体元素后,直接调用方法即可:
-
play()和pause()控制启停(注意:自动播放受浏览器策略限制,通常需用户手势触发) -
currentTime = 秒数跳转到指定时间点(可读可写) -
duration获取总时长(加载完成后才有效,建议监听loadedmetadata事件)
进度条同步与拖拽
进度条本质是一个 <input type="range">,需要双向绑定:
- 播放中定时更新
value:用timeupdate事件(每 200–250ms 触发一次),计算当前进度百分比:range.value = (video.currentTime / video.duration) * 100 - 用户拖拽时跳转:监听
input或change事件,把滑块值换算回时间:video.currentTime = (range.value / 100) * video.duration
音量、静音与倍速控制
这些属性都支持直接读写:
标签: css javascript java js 浏览器 区别 网络问题
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~