MediaTrackSettings
MediaTrackSettings
字典用于返回为每个 MediaStreamTrack
的设置配置的当前值。这些值将尽可能地遵循先前使用 MediaTrackConstraints
对象描述的任何约束,并使用 applyConstraints()
设置,并将遵循任何未更改约束的属性或其自定义约束无法匹配的属性的默认约束。
要了解有关约束和设置如何工作的更多信息,请参阅 功能、约束和设置。
实例属性
以下内容中的一部分或全部将包含在对象中,原因可能是浏览器不支持或由于上下文而不可用。例如,由于 RTP 在 WebRTC 连接协商期间不提供其中一些值,因此与 RTCPeerConnection
关联的轨道将不包括某些值,例如 facingMode
或 groupId
。
所有媒体轨道的实例属性
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"
-
一个面向用户左侧环境的相机。
"right"
-
一个面向用户右侧环境的相机。
frameRate
-
一个双精度浮点型值,指示
frameRate
属性的当前值,指定轨道每秒包含多少帧视频。如果由于任何原因无法确定该值,则该值将与用户代理运行的设备的垂直同步率匹配。 height
-
一个长整型值,指示
height
属性的当前值,指定轨道视频数据的以像素为单位的高度。 width
-
一个长整型值,指示
width
属性的当前值,指定轨道视频数据的以像素为单位的宽度。 resizeMode
-
一个字符串,指示
resizeMode
属性的当前值,指定用户代理用于推导出轨道分辨率的模式。该值将是以下之一"none"
-
该轨道具有相机、其驱动程序或操作系统提供的分辨率。
"crop-and-scale"
-
该轨道分辨率可能是用户代理使用裁剪或从更高相机分辨率降级导致的结果。
共享屏幕轨道的实例属性
包含从用户屏幕共享的视频的轨道(无论屏幕数据来自整个屏幕还是屏幕的一部分,例如窗口或选项卡)通常被视为视频轨道,但例外情况是它们还支持以下新增设置
cursor
-
一个字符串,指示鼠标光标是否包含在生成的流中以及在什么条件下。可能的值是
displaySurface
-
一个字符串,指定轨道包含的源类型;以下之一
application
-
该流包含用户选择的所有应用程序窗口,这些窗口渲染到一个视频轨道中。
browser
-
该流包含用户选择的一个浏览器选项卡的内容。
monitor
-
该流的视频轨道包含用户一个或多个屏幕的全部内容。
window
-
该流包含用户选择以供共享的一个窗口。
logicalSurface
-
一个布尔值,如果为
true
,则指示流的视频轨道中包含的视频包含一个背景渲染上下文,而不是一个用户可见的渲染上下文。如果正在捕获的视频来自前台(用户可见)源,则此值为false
。
规范
规范 |
---|
媒体捕获和流 # 媒体轨道设置 |
屏幕捕获 # 媒体轨道设置扩展 |