能否直接在HTML的<audio>标签中设置preservesPitch属性?
能否在HTML
<audio> 标签中直接设置 preservesPitch 属性? 不行,preservesPitch 是HTMLMediaElement接口的DOM属性,并非 <audio> 标签的原生HTML属性,直接写在HTML标签里不会生效。
为什么HTML属性写法不生效?
HTML标签的属性是标准定义的可直接在HTML中声明的特性(比如 controls、loop),而 preservesPitch 属于JavaScript层面操作的DOM对象属性,只能通过JS来修改。
尽量少用JS的替代方案
如果想减少JS代码量,可以用内联脚本直接设置,这是最简洁的方式:
<audio controls loop src="audio.mp3" id="audioPlayer"></audio> <script> document.getElementById('audioPlayer').preservesPitch = false; </script>
补充说明(对应MDN文档核心内容)
preservesPitch 属性用于控制媒体播放速率改变时是否保持原音调:
- 默认值为
true:变速播放时音调不变 - 设置为
false:变速播放时音调随速率同步变化(比如快放声音变尖锐,慢放变低沉)
内容的提问来源于stack exchange,提问作者pesinasiller
相关产品推荐
相关产品推荐

