AudioTrack
interface represents a single audio track from one of the HTML media elements,
<audio>
or
<video>
.
The most common use for accessing an
AudioTrack
object is to toggle its
enabled
property in order to mute and unmute the track.
enabled
false
mutes the track's audio.
id
只读
DOMString
which uniquely identifies the track within the media. This ID can be used to locate a specific track within an audio track list by calling
AudioTrackList.getTrackById()
. The ID can also be used as the fragment part of the URL if the media supports seeking by media fragment per the
Media Fragments URI specification
.
kind
只读
DOMString
specifying the category into which the track falls. For example, the main audio track would have a
kind
of
"main"
.
label
只读
DOMString
providing a human-readable label for the track. For example, an audio commentary track for a movie might have a
label
of
"Commentary with director John Q. Public and actors John Doe and Jane Eod."
This string is empty if no label is provided.
语言
只读
DOMString
specifying the audio track's primary language, or an empty string if unknown. The language is specified as a BCP 47 (
RFC 5646
) language code, such as
"en-US"
or
"pt-BR"
.
sourceBuffer
只读
SourceBuffer
that created the track. Returns null if the track was not created by a
SourceBuffer
或
SourceBuffer
has been removed from the
MediaSource.sourceBuffers
attribute of its parent media source.
To get an
AudioTrack
for a given media element, use the element's
audioTracks
property, which returns an
AudioTrackList
object from which you can get the individual tracks contained in the media:
var el = document.querySelector("video");
var tracks = el.audioTracks;
You can then access the media's individual tracks using either array syntax or functions such as
forEach()
.
This first example gets the first audio track on the media:
var firstTrack = tracks[0];
The next example scans through all of the media's audio tracks, enabling any that are in the user's preferred language (taken from a variable
userLanguage
) and disabling any others.
tracks.forEach(function(track) {
if (track.language === userLanguage) {
track.enabled = true;
} else {
track.enabled = false;
}
});
语言
is in standard (
RFC 5646
) format. For US English, this would be
"en-US"
,例如。
This example returns an array of track kinds and labels for potential use in a user interface to select audio tracks for a specified media element. The list is filtered to only allow certain track kinds through.
function getTrackList(el) {
var trackList = [];
const wantedKinds = [
"main", "alternative", "main-desc", "translation", "commentary"
];
el.audioTracks.forEach(function(track) {
if (wantedKinds.includes(track.kind)) {
trackList.push({
id: track.id,
kind: track.kind,
label: track.label
});
}
});
return trackList;
}
结果
trackList
contains an array of audio tracks whose
kind
is one of those in the array
wantedKinds
, with each entry providing the track's
id
,
kind
,和
label
.
| 规范 | 状态 | 注释 |
|---|---|---|
|
HTML 实时标准
The definition of 'AudioTrack' in that specification. |
实时标准 | |
|
HTML5
The definition of 'AudioTrack' in that specification. |
推荐 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
AudioTrack
|
Chrome
45
Disabled
|
Edge
79
Disabled
|
Firefox 33 | IE 10 |
Opera
32
Disabled
|
Safari 6.1 | WebView Android 45 |
Chrome Android
45
Disabled
|
Firefox Android 33 |
Opera Android
32
Disabled
|
Safari iOS 7 | Samsung Internet Android No |
enabled
|
Chrome
45
Disabled
|
Edge
79
Disabled
|
Firefox 33 | IE 10 |
Opera
32
Disabled
|
Safari 6.1 | WebView Android 45 |
Chrome Android
45
Disabled
|
Firefox Android 33 |
Opera Android
32
Disabled
|
Safari iOS 7 | Samsung Internet Android No |
id
|
Chrome
45
Disabled
|
Edge
79
Disabled
|
Firefox 33 | IE 10 |
Opera
32
Disabled
|
Safari 6.1 | WebView Android 45 |
Chrome Android
45
Disabled
|
Firefox Android 33 |
Opera Android
32
Disabled
|
Safari iOS 7 | Samsung Internet Android No |
kind
|
Chrome
45
Disabled
|
Edge
79
Disabled
|
Firefox 33 | IE 10 |
Opera
32
Disabled
|
Safari 6.1 | WebView Android 45 |
Chrome Android
45
Disabled
|
Firefox Android 33 |
Opera Android
32
Disabled
|
Safari iOS 7 | Samsung Internet Android No |
label
|
Chrome
45
Disabled
|
Edge
79
Disabled
|
Firefox 33 | IE 10 |
Opera
32
Disabled
|
Safari 6.1 | WebView Android 45 |
Chrome Android
45
Disabled
|
Firefox Android 33 |
Opera Android
32
Disabled
|
Safari iOS 7 | Samsung Internet Android No |
语言
|
Chrome
45
Disabled
|
Edge
79
Disabled
|
Firefox 33 | IE 10 |
Opera
32
Disabled
|
Safari 6.1 | WebView Android 45 |
Chrome Android
45
Disabled
|
Firefox Android 33 |
Opera Android
32
Disabled
|
Safari iOS 7 | Samsung Internet Android No |
sourceBuffer
|
Chrome
45
Disabled
|
Edge
79
Disabled
|
Firefox No | IE 10 |
Opera
32
Disabled
|
Safari 6.1 | WebView Android 45 |
Chrome Android
45
Disabled
|
Firefox Android No |
Opera Android
32
Disabled
|
Safari iOS 7 | Samsung Internet Android No |
完整支持
不支持
用户必须明确启用此特征。
AudioTrack
BeforeUnloadEvent
DOMStringMap
ErrorEvent
GlobalEventHandlers
HTMLAnchorElement
HTMLAreaElement
HTMLAudioElement
HTMLBRElement
HTMLBaseElement
HTMLBaseFontElement
HTMLBodyElement
HTMLButtonElement
HTMLCanvasElement
HTMLContentElement
HTMLDListElement
HTMLDataElement
HTMLDataListElement
HTMLDialogElement
HTMLDivElement
HTMLDocument
HTMLElement
HTMLEmbedElement
HTMLFieldSetElement
HTMLFormControlsCollection
HTMLFormElement
HTMLFrameSetElement
HTMLHRElement
HTMLHeadElement
HTMLHeadingElement
HTMLHtmlElement
HTMLIFrameElement
HTMLImageElement
HTMLInputElement
HTMLIsIndexElement
HTMLKeygenElement
HTMLLIElement
HTMLLabelElement
HTMLLegendElement
HTMLLinkElement
HTMLMapElement
HTMLMediaElement
HTMLMetaElement
HTMLMeterElement
HTMLModElement
HTMLOListElement
HTMLObjectElement
HTMLOptGroupElement
HTMLOptionElement
HTMLOptionsCollection
HTMLOutputElement
HTMLParagraphElement
HTMLParamElement
HTMLPictureElement
HTMLPreElement
HTMLProgressElement
HTMLQuoteElement
HTMLScriptElement
HTMLSelectElement
HTMLShadowElement
HTMLSourceElement
HTMLSpanElement
HTMLStyleElement
HTMLTableCaptionElement
HTMLTableCellElement
HTMLTableColElement
HTMLTableDataCellElement
HTMLTableElement
HTMLTableHeaderCellElement
HTMLTableRowElement
HTMLTableSectionElement
HTMLTemplateElement
HTMLTextAreaElement
HTMLTimeElement
HTMLTitleElement
HTMLTrackElement
HTMLUListElement
HTMLUnknownElement
HTMLVideoElement
HashChangeEvent
历史
ImageData
定位
MessageChannel
MessageEvent
MessagePort
Navigator
NavigatorGeolocation
NavigatorID
NavigatorLanguage
NavigatorOnLine
NavigatorPlugins
PageTransitionEvent
Plugin
PluginArray
PopStateEvent
PortCollection
PromiseRejectionEvent
RadioNodeList
Transferable
ValidityState
Window
WindowBase64
WindowEventHandlers
WindowTimers