MediaStreamAudioSourceNode

Baseline 已广泛支持

此功能已成熟,可跨多种设备和浏览器版本使用。自 2017 年 9 月以来,它已在浏览器中提供。

MediaStreamAudioSourceNode 接口是一种 AudioNode,它充当音频源,其媒体来自使用 WebRTC 或 Media Capture and Streams API 获取的 MediaStream

此媒体可能来自麦克风(通过 getUserMedia())或来自 WebRTC 通话中的远程对等方(使用 RTCPeerConnection 的音频轨道)。

MediaStreamAudioSourceNode 没有输入,只有一个输出,并且是使用 AudioContext.createMediaStreamSource() 方法创建的。

MediaStreamAudioSourceNode 获取的是其 kind 属性值为 audio 的*第一个* MediaStreamTrack 的音频。有关轨道顺序的更多信息,请参阅 Track ordering

该节点输出的声道数量与所选音频轨道中找到的轨道数量相匹配。

EventTarget AudioNode MediaStreamAudioSourceNode
输入数量 0
输出数量 1
声道数 2(但请注意,AudioNode.channelCount 仅用于上混和下混 AudioNode 输入,而 MediaStreamAudioSourceNode 没有输入)

构造函数

MediaStreamAudioSourceNode()

创建一个具有指定选项的新 MediaStreamAudioSourceNode 对象实例。

实例属性

除了以下属性外,MediaStreamAudioSourceNode 还继承了其父级 AudioNode 的属性。

mediaStream 只读

用于构造此 MediaStreamAudioSourceNodeMediaStream

实例方法

继承自其父级 AudioNode 的方法.

用法说明

轨道顺序

对于 MediaStreamTrackAudioSourceNode 接口而言,流中音频轨道的顺序是通过获取 kindaudio 的轨道,然后根据其 id 属性的值,按 Unicode 代码点顺序(本质上,对于简单的字母数字字符串 ID,则是按字母或字典顺序)排序来确定的。

因此,**第一个**轨道是当所有轨道的 ID 按 Unicode 代码点排序时,ID 排在最前面的那个轨道。

然而,需要注意的是,确立此顺序的规则是在此接口首次引入 Web Audio API 很久之后才添加的。因此,您无法轻松地在任何两个浏览器或浏览器版本之间依赖匹配的顺序。

MediaStreamTrackAudioSourceNode 接口与 MediaStreamAudioSourceNode 类似,但通过允许您指定要使用的轨道来避免此问题。

示例

有关使用此对象的示例代码,请参阅 AudioContext.createMediaStreamSource()

规范

规范
Web Audio API
# MediaStreamAudioSourceNode

浏览器兼容性

另见