pause()方法用于暂停HTML5音视频播放,需作用于已加载且处于播放状态的audio或video元素;调用前须确保DOM中存在该元素、脚本执行时机恰当,并确认媒体处于可暂停状态(如readyState≥1、ended为false)。

在 HTML5 中,pause() 方法用于暂停当前正在播放的音视频媒体资源,它必须作用于已加载且处于播放状态的 <audio> 或 <video> 元素。
确保元素已正确获取并可操作
调用 pause() 前,需通过 JavaScript 获取到对应的媒体元素对象。常见方式是使用 document.getElementById() 或 querySelector():
- 元素必须存在于 DOM 中,且脚本执行时机不能早于元素加载(推荐放在
<body>底部或使用DOMContentLoaded事件) - 避免对未加载完成的媒体直接调用
pause(),否则可能无效果或报错 - 示例:const video = document.getElementById('myVideo'); video.pause();
确认媒体处于可暂停状态
pause() 只对正在播放(paused === false)或已加载元数据但尚未开始播放的媒体有效。以下情况调用不会生效或被忽略:
- 媒体尚未加载(
readyState === 0),例如网络未就绪或src为空 - 媒体已自然结束(
ended === true),此时再调用pause()无实际意义 - 媒体已被静音或处于加载中(
networkState === NETWORK_LOADING),建议先监听canplay或loadeddata事件再操作
配合播放控制逻辑使用
通常 pause() 和 play() 配合实现播放/暂停切换功能:
立即学习“前端免费学习笔记(深入)”;
- 检查
paused属性判断当前状态:if (!video.paused) video.pause(); - 可绑定到按钮点击事件:btn.addEventListener('click', () => video.paused ? video.play() : video.pause());
- 注意:部分移动浏览器(如 iOS Safari)限制自动播放,首次交互前调用
play()可能失败,但pause()一般不受限
不复杂但容易忽略的是:暂停后媒体的 currentTime 值保持不变,再次调用 play() 会从该位置继续播放。



















