MediaTrackSettings - 用于返回为每个 MediaStreamTrack 设置的当前值的字典

MediaTrackSettings 字典用于返回为每个 MediaStreamTrack 设置所配置的当前值。这些值将尽可能接近先前使用 MediaTrackConstraints 对象和使用 applyConstraints() 设置的任何约束,并且将遵守其约束未更改,或无法匹配其自定义约束的任何属性的默认约束。

要了解有关约束如何工作的更多信息,请参阅功能,约束和设置

属性

该对象将包含以下一些或所有属性,因为有的是是浏览器不是支持的,有的是在浏览器上下文中不可用的。例如,因为 RTP 在协商 WebRTC 连接期间未提供其中一些值,与 RTCPeerConnection 关联的轨道将不包含某些值,例如 facingModegroupId

所有媒体轨道的属性

deviceId

一个 DOMString,表示 deviceId 属性的当前值。设备 ID 是一个当前源唯一字符串标识的轨迹的源;它通常是一个 GUID。这个值特定于轨道数据的来源,不可用于设置约束;但是,当调用 MediaDevices.getUserMedia() 时,它可以用于选择媒体。

groupId

一个 DOMString 表示 groupId 属性的当前值。分组 ID 是一个浏览会话唯一字符串识别轨道的源组。两个设备(例如 deviceId 不同),如果它们来自相同的物理设备,会被认为是相同的分组。例如,内置于手机的扬声器和麦克风音频输入和输出设备将共享同一组 ID,因为他们是同一个物理设备的一部分。但是,耳机上的麦克风会有不同的 ID。这个值特定于轨道数据的来源,不可用于设置约束;但是,当调用 MediaDevices.getUserMedia() 时,它可以用于选择媒体。

音频轨道的属性

autoGainControl

一个布尔,表示 autoGainControl 属性的当前的值,如果启用了自动增益控制,其是 true,否则为 false

channelCount

一个长整型,表示 channelCount 属性当前的值,指定当前轨道上音频通道的数目(因而指示了音频取样在各存在多少音频帧)。单声道为 1,立体声为 2,以此类推。

echoCancellation

一个布尔值,表示 echoCancellation 属性,如果启用回声消除则为 true,否则为 false

latency

一个双精度浮点值,表示 latency 属性当前的值,指定所述音频延迟时间,单位为秒。延迟是指音频使用过程中,从处理音频开始,到下次停止之间可用的数据之间,所经过的时间量。这个值是目标值;由于各种原因,实际延迟可能在一定程度上有所不同。

noiseSuppression

一个布尔值,表示 noiseSupression 属性当前的值,如果启用了噪声抑制是 true,否则为 false

sampleRate

一个长整数值,表示 sampleRate 属性的当前值,指定在每个音频数据每秒的采样率。例如标准 CD 质量的音频,具有每秒 41000 个采样的采样速率。

sampleSize

一个长整数值,表示 sampleSize 属性的当前值,以比特为单位,指示每个音频样本的线性大小。例如 CD 质量的音频是 16 位的,则这个值是在这种情况下是 16。

volume

一个双精度浮点值,表示 volume 属性当前的值,指定音轨的音量电平。该值在是 0.0(静音)至 1.0(最大支持音量)之间。

视频轨道的属性

aspectRatio

一个双精度浮点值,表示 aspectRatio 属性当前的值,指定了精确到 10 位小数。这是图像的在其高度以像素为单位划分像素的宽度。常见值包括 1.3333333333(为经典的电视 4:3 “标准” 的纵横比,也用在平板电脑,如苹果 iPad),1.7777777778(为 16:9 的高清晰度宽屏幕宽高比)和 1.6(为 16:10 宽高比的宽屏计算机和平板电脑)。

facingMode

一个 DOMString,指示 facingMode 属性的当前值,指定摄像机面对的方向。该值是以下其中一个:

"user"

面向用户的相机(通常被称为 “自拍相机”),用于自拍和视频呼叫。

"environment"

背向用户的照相机(相对于用户正在观看的屏幕)。这通常是设备上的高品质摄像头,用于一般拍摄。

"left"

面向用户左侧环境的相机。

面向用户右侧环境的相机。

frameRate

一个双精度浮点值,表示 frameRate 属性的当前值,指定每秒轨道包括视频的多少帧。如果由于任何原因无法确定该值,则该值将匹配用户代理正在运行的设备的垂直同步速率。

height

一个长整数值,表示 height 属性的当前值,指定轨道的视频数据的像素高度。

width

一个长整数值,表示 width 属性的当前值,指定轨道的视频数据的像素宽度。

resizeMode

一个 DOMString,表示 resizeMode 属性的当前值,指定由所述用户代理使用的模式来导出轨道的分辨率。该值是以下其中一个:

"none"

轨道的分辨率由相机、驱动程序或操作系统提供。

"crop-and-scale"

轨道的分辨率可能是用户代理使用从较高的相机分辨率裁剪或缩小比例的结果。

共享屏幕轨道的属性

包含用户屏幕上共享的视频(无论该画面数据是否来自整个屏幕或屏幕的一部分,例如一个窗口或标签)的轨道通常被认为是视频轨道,不同之处在于它们还支持添加的以下设置:

cursor

一个 DOMString,它指示生成的流中是否包含鼠标指针,以及在什么条件下包含鼠标指针。可能的值有:

always

鼠标总是在 MediaStream 的视频内容中显示,除非鼠标移动内容的区域之外。

motion

如果鼠标在移动,并且在停止移动后的一小段时间内,它总是显示在视频中。

never

鼠标光标永远不会包含在共享视频中。

displaySurface

一个 DOMString,指定轨道包含的源类型;为以下其中一个值:

application

该流包含由用户选择呈现在一个视频轨道中的应用程序的所有窗口。

browser

该流包含用户选择的单个浏览器选项卡的内容。

monitor

该流的视频轨包含一个或多个用户屏幕的全部内容。

window

该流包含用户选择用于共享的单个窗口。

logicalSurface

一个布尔值,如果为 true,表示包含在数据流的视频轨道的视频包含背景渲染上下文,而不是用户可见的上下文。 如果视频是从前景(用户可见)的源捕捉的,则为 false

规范

规范 状态 备注
Unknown
MediaTrackSettings 的定义
Unknown 初始定义

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持59 未知 支持 未知 支持 未知
aspectRatio 支持 未知 不支持 未知 支持 未知
autoGainControl 支持 未知

55

50 — 55 moz

未知 支持 未知
channelCount 不支持 未知 不支持 未知 不支持 未知
cursor71 未知 不支持 不支持 支持 未知
deviceId 支持 未知69 未知 支持 未知
displaySurface71 未知 不支持 不支持 支持 未知
echoCancellation 支持 未知50 未知 支持 未知
facingMode 支持 未知69 未知 支持 未知
frameRate 支持 未知36 未知 支持 未知
groupId 支持 未知69 未知 支持 未知
height 支持 未知36 未知 支持 未知
latency 不支持 未知 不支持 未知 不支持 未知
logicalSurface71 未知 不支持 不支持 支持 未知
noiseSuppression 支持 未知

55

50 — 55 moz

未知 支持 未知
resizeMode 不支持 未知 不支持 未知 不支持 未知
sampleRate 不支持 未知 不支持 未知 不支持 未知
sampleSize 支持 未知 不支持 未知 支持 未知
volume 不支持 未知 不支持 未知 不支持 未知
width 支持 未知36 未知 支持 未知

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持5959 未知 支持 未知 支持 未知
aspectRatio 支持 支持 未知 不支持 未知 支持 未知
autoGainControl 支持 支持 未知

55

50 — 55 moz

未知 支持 未知
channelCount 不支持 不支持 未知 不支持 未知 不支持 未知
cursor7171 未知 不支持 未知 未知 未知
deviceId 支持 支持 未知 不支持 未知 支持 未知
displaySurface7171 未知 不支持 未知 未知 未知
echoCancellation 支持 支持 未知50 未知 支持 未知
facingMode 支持 支持 未知 不支持 未知 支持 未知
frameRate 支持 支持 未知36 未知 支持 未知
groupId 支持 支持 未知 不支持 未知 支持 未知
height 支持 支持 未知36 未知 支持 未知
latency 不支持 不支持 未知 不支持 未知 不支持 未知
logicalSurface7171 未知 不支持 未知 未知 未知
noiseSuppression 支持 支持 未知

55

50 — 55 moz

未知 支持 未知
resizeMode 不支持 不支持 未知 不支持 未知 不支持 未知
sampleRate 不支持 不支持 未知 不支持 未知 不支持 未知
sampleSize 支持 支持 未知 不支持 未知 支持 未知
volume 不支持 不支持 未知 不支持 未知 不支持 未知
width 支持 支持 未知36 未知 支持 未知

相关链接