<audio> 标签的 loop 属性是布尔属性,只要存在即启用循环播放,正确写法为 loop(不赋值),不可用 loop="false" 关闭;建议搭配 controls 使用以显示循环图标,并注意其无间隙循环需音频文件本身优化。

在 HTML 中,<audio> 标签的 loop 属性是一个布尔属性,只要存在(无论是否赋值),浏览器就会让音频自动重复播放。
loop 属性的基本写法
只需在 <audio> 标签中添加 loop 即可,不需要写成 loop="true" 或 loop="loop" —— 这些写法虽然部分浏览器也能识别,但不符合 HTML5 规范。
- ✅ 正确写法:
<audio src="music.mp3" loop></audio> - ❌ 不推荐:
<audio src="music.mp3" loop="true"></audio> - ❌ 无效写法:
<audio src="music.mp3" loop="false"></audio>(只要写了 loop 就生效,无法用 false 关闭)
配合 controls 使用更实用
单独加 loop 不会显示播放控件,建议同时加上 controls,方便用户操作和确认循环状态:
<audio src="bgm.wav" loop controls></audio>
立即学习“前端免费学习笔记(深入)”;
此时播放器界面会出现循环图标(如两个箭头组成的圆圈),多数现代浏览器会在 UI 上直观提示当前处于循环模式。
注意 loop 的实际行为
loop 表示“播放完立即从头开始”,不会跳过静音段、不会消除首尾间隙。如果音频末尾有淡出或开头有延迟,可能听到轻微停顿或重叠。
- 若需无缝循环,需在音频编辑软件中处理文件(如去掉末尾空白、对齐波形)
- JavaScript 可监听
ended事件手动控制,但原生loop更轻量、兼容性更好 - 移动端 Safari 对
loop支持良好,但某些旧版 Android 浏览器可能忽略该属性
与其他属性组合使用
loop 可与 autoplay、muted 搭配,尤其适用于背景音乐或提示音:
<audio src="notify.ogg" loop autoplay muted></audio>
⚠️ 注意:多数浏览器禁止有声音的 autoplay,所以带 loop 的自动播放通常要配合 muted 才能生效。



















