--- title: HTMLAudioElement slug: Web/API/HTMLAudioElement translation_of: Web/API/HTMLAudioElement ---
HTMLAudioElement
接口提供对 {{HTMLElement("audio")}} 元素的属性访问及一系列操控它的方法,它基于并从 {{domxref("HTMLMediaElement")}} 接口继承属性和方法。
{{InheritanceDiagram(600, 120)}}
HTMLAudioElement
对象,如果提供音频文件 URL,则开始加载音频文件。没有具体的属性;从父类 {{domxref("HTMLMediaElement")}} 和 {{domxref("HTMLElement")}} 继承属性。
从父类 {{domxref("HTMLMediaElement")}} 和 {{domxref("HTMLElement")}} 继承方法,自身不提供方法。
以下方法是未标准化的,请勿使用.
你可以完全使用 JavaScript 的 {{domxref("HTMLAudioElement.Audio", "Audio()")}} 构造函数来创建一个 HTMLAudioElement
:
var audioElement = new Audio('car_horn.wav');
然后你可以在这个元素上调用 play()
方法
audioElement.play();
一些经常被使用的属性,包括 {{domxref("HTMLMediaElement.src", "src")}}、{{domxref("HTMLMediaElement.currentTime", "currentTime")}}、{{domxref("HTMLMediaElement.duration", "duration")}}、{{domxref("HTMLMediaElement.paused", "paused")}}、{{domxref("HTMLMediaElement.muted", "muted")}} 和 {{domxref("HTMLMediaElement.volume", "volume")}}。以下这段代码赋值音频文件的播放时长给一个变量:
var audioElement = new Audio('car_horn.wav'); audioElement.addEventListener('loadeddata', () => { let duration = audioElement.duration; // duration 变量现在存放音频的播放时长(单位秒) })
从父类 {{domxref("HTMLMediaElement")}} 和祖先 {{domxref("HTMLElement")}} 继承方法. 使用 addEventListener()
监听事件或者赋值一个事件监听器给这个接口的 oneventname
属性。
Specification | Status | Comment |
---|---|---|
{{SpecName('HTML WHATWG', "#htmlaudioelement", "HTMLAudioElement")}} | {{Spec2('HTML WHATWG')}} | |
{{SpecName('HTML5 W3C', "embedded-content-0.html#the-audio-element", "HTMLAudioElement")}} | {{Spec2('HTML5 W3C')}} |
{{Compat("api.HTMLAudioElement")}}