MediaStream:getAudioTracks() 方法

基线 广泛可用

此功能已得到良好建立,并且可在许多设备和浏览器版本中使用。它自以下时间起在浏览器中可用: 2017 年 9 月.

getAudioTracks() 方法是 MediaStream 接口的方法,它返回一个表示此流的 轨道集 中所有 MediaStreamTrack 对象的序列,其中 MediaStreamTrack.kindaudio

语法

js
getAudioTracks()

参数

无。

返回值

一个 MediaStreamTrack 对象数组,每个对象代表流中包含的一个音频轨道。音频轨道是指其 kind 属性为 audio 的轨道。如果流不包含任何音频轨道,则数组为空。

注意:返回轨道的顺序不受规范定义,实际上可能在每次调用 getAudioTracks() 时都会发生变化。

此 API 的早期版本包含一个特殊的 AudioStreamTrack 接口,该接口用作音频流列表中每个条目的类型;但是,此接口现已合并到主 MediaStreamTrack 接口中。

示例

此示例使用 getUserMedia() 在流中获取网络摄像头的音频和视频,将流附加到 <video> 元素,然后设置一个计时器,该计时器在到期时将停止在流上找到的第一个音频轨道。

js
navigator.mediaDevices
  .getUserMedia({ audio: true, video: true })
  .then((mediaStream) => {
    document.querySelector("video").srcObject = mediaStream;
    // Stop the audio stream after 5 seconds
    setTimeout(() => {
      const tracks = mediaStream.getAudioTracks();
      tracks[0].stop();
    }, 5000);
  });

规范

规范
媒体捕获和流
# dom-mediastream-getaudiotracks

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。