MediaTrackSettings

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

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

实例属性

以下内容中的一部分或全部将包含在对象中,原因可能是浏览器不支持或由于上下文而不可用。例如,由于 RTP 在 WebRTC 连接协商期间不提供其中一些值,因此与 RTCPeerConnection 关联的轨道将不包括某些值,例如 facingModegroupId

所有媒体轨道的实例属性

deviceId

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

groupId

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

音频轨道的实例属性

autoGainControl

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

channelCount

一个长整型值,指示 channelCount 属性的当前值,指定轨道上存在的音频通道数量(因此指示每个音频帧中存在多少个音频样本)。对于单声道,此值为 1,对于立体声,此值为 2,依此类推。

echoCancellation

一个布尔值,指示 echoCancellation 属性的当前值,如果回声消除已启用,则指定 true,否则指定 false

latency

一个双精度浮点型值,指示 latency 属性的当前值,以秒为单位指定音频延迟。延迟是指音频处理开始到数据可用于音频利用过程中的下一站之间经过的时间。此值是一个目标值;实际延迟可能会因各种原因而有所不同。

noiseSuppression

一个布尔值,指示 noiseSuppression 属性的当前值,如果噪声抑制已启用,则为 true,否则为 false

sampleRate

一个长整型值,指示 sampleRate 属性的当前值,以每秒样本数指定音频数据的采样率。例如,标准 CD 音质音频的采样率为每秒 41,000 个样本。

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

一个字符串,指示 facingMode 属性的当前值,指定相机朝向的方向。该值将是以下之一

"user"

一个面向用户的相机(通常称为“自拍相机”),用于自拍照和视频通话。

"environment"

一个背对用户的相机(当用户看着屏幕时)。这通常是设备上质量最高的相机,用于一般摄影。

"left"

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

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

frameRate

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

height

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

width

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

resizeMode

一个字符串,指示 resizeMode 属性的当前值,指定用户代理用于推导出轨道分辨率的模式。该值将是以下之一

"none"

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

"crop-and-scale"

该轨道分辨率可能是用户代理使用裁剪或从更高相机分辨率降级导致的结果。

共享屏幕轨道的实例属性

包含从用户屏幕共享的视频的轨道(无论屏幕数据来自整个屏幕还是屏幕的一部分,例如窗口或选项卡)通常被视为视频轨道,但例外情况是它们还支持以下新增设置

cursor

一个字符串,指示鼠标光标是否包含在生成的流中以及在什么条件下。可能的值是

always

鼠标始终在 {domxref("MediaStream")} 的视频内容中可见,除非鼠标已移出内容区域。

motion

如果鼠标正在移动,则始终在视频中包含鼠标光标,并在鼠标停止移动后的一小段时间内也是如此。

never

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

displaySurface

一个字符串,指定轨道包含的源类型;以下之一

application

该流包含用户选择的所有应用程序窗口,这些窗口渲染到一个视频轨道中。

browser

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

monitor

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

window

该流包含用户选择以供共享的一个窗口。

logicalSurface

一个布尔值,如果为 true,则指示流的视频轨道中包含的视频包含一个背景渲染上下文,而不是一个用户可见的渲染上下文。如果正在捕获的视频来自前台(用户可见)源,则此值为 false

规范

规范
媒体捕获和流
# 媒体轨道设置
屏幕捕获
# 媒体轨道设置扩展

另请参阅