MediaTrackSettings
MediaTrackSettings 字典用于返回 的每个设置的当前值。这些值将尽可能贴近使用 MediaStreamTrack 对象描述并使用 MediaTrackConstraints 设置的约束,并且对于任何未更改约束或其自定义约束不匹配的属性,将采用默认约束。applyConstraints()
要了解有关约束和设置工作原理的更多信息,请参阅 功能、约束和设置。
实例属性
以下一项或多项将包含在该对象中,原因可能是浏览器不支持,也可能是由于上下文不可用。例如,由于 RTP 在 WebRTC 连接的协商过程中不提供其中某些值,因此与 关联的轨道将不包含某些值,例如 RTCPeerConnectionfacingMode 或 groupId。
所有媒体轨道的实例属性
deviceId-
一个字符串,指示
属性的当前值。设备 ID 是一个源唯一的字符串,用于标识轨道的来源;这通常是一个 GUID。此值特定于轨道数据的来源,不能用于设置约束;但是,在调用deviceId来最初选择媒体时,可以使用它。MediaDevices.getUserMedia() groupId-
一个字符串,指示
属性的当前值。组 ID 是一个浏览器会话唯一的字符串,用于标识轨道的源组。两个设备(由groupId标识)如果来自同一物理设备,则被视为同一组的一部分。例如,手机中内置的扬声器和麦克风的音频输入和输出设备将共享相同的组 ID,因为它们属于同一物理设备。但是,耳机上的麦克风将具有不同的 ID。此值特定于轨道数据的来源,不能用于设置约束;但是,在调用deviceId来最初选择媒体时,可以使用它。MediaDevices.getUserMedia()
音频轨道的实例属性
autoGainControl-
一个布尔值,指示
属性的当前值,如果启用了自动增益控制,则为autoGainControltrue,否则为false。 channelCount-
一个长整数值,指示
属性的当前值,指定轨道上存在的音频通道数(因此表明每个音频帧中有多少个音频样本)。对于单声道为 1,立体声为 2,依此类推。channelCount echoCancellation-
一个布尔值,指示
属性的当前值,如果启用了回声消除,则为echoCancellationtrue,否则为false。 latency-
一个双精度浮点数值,指示
属性的当前值,以秒为单位指定音频延迟。延迟是指从音频处理开始到数据可用于音频利用过程的下一个停止点之间经过的时间。此值为目标值;由于各种原因,实际延迟可能在一定程度上有所不同。latency noiseSuppression-
一个布尔值,指示
属性的当前值:如果启用了降噪,则为noiseSuppressiontrue,否则为false。 restrictOwnAudio-
一个布尔值,指示
属性的当前值:如果浏览器尝试过滤掉屏幕捕获期间源自捕获标签的系统音频,则为restrictOwnAudiotrue,否则为false。 sampleRate-
一个长整数值,指示
属性的当前值,指定音频数据的每秒采样数。例如,标准的 CD 音质音频的采样率为每秒 41,000 个样本。sampleRate sampleSize-
一个长整数值,指示
属性的当前值,指定每个音频样本的线性大小(以比特为单位)。例如,CD 音质音频是 16 位,在这种情况下,此值为 16。sampleSize suppressLocalAudioPlayback-
控制在捕获标签时,标签中正在播放的音频是否会继续通过用户的本地扬声器播放。
volume已弃用 非标准-
一个双精度浮点数值,指示
属性的当前值,指定轨道的音量级别。此值将在 0.0(静音)到 1.0(最大支持音量)之间。volume
视频轨道的实例属性
aspectRatio-
一个双精度浮点数值,指示
属性的当前值,精确到小数点后 10 位。这是图像的宽度(以像素为单位)除以其高度(以像素为单位)。常见的值包括 1.3333333333(经典电视 4:3“标准”纵横比,也用于 iPad 等平板电脑)、1.7777777778(16:9 高清宽屏纵横比)和 1.6(宽屏计算机和平板电脑常见的 16:10 纵横比)。aspectRatio facingMode-
一个字符串,指示
属性的当前值,指定摄像头的朝向。该值将是以下之一:facingMode"user"-
面向用户的摄像头(俗称“自拍相机”),用于自拍和视频通话。
"environment"-
面向远离用户的摄像头(当用户查看屏幕时)。这通常是设备上质量最高的摄像头,用于一般摄影。
"left"-
面向用户左侧环境的摄像头。
"right"-
面向用户右侧环境的摄像头。
frameRate-
一个双精度浮点数值,指示
属性的当前值,指定轨道包含的每秒视频帧数。如果由于任何原因无法确定该值,则该值将匹配用户代理运行设备的人眼同步率。frameRate height-
一个长整数值,指示
属性的当前值,指定轨道视频数据的高度(以像素为单位)。height width-
一个长整数值,指示
属性的当前值,指定轨道视频数据的宽度(以像素为单位)。width resizeMode-
一个字符串,指示
属性的当前值,指定用户代理用于派生轨道分辨率的模式。该值将是以下之一:resizeMode"none"-
轨道具有摄像头、驱动程序或操作系统提供的分辨率。
"crop-and-scale"-
轨道的分辨率可能是用户代理从更高的摄像头分辨率进行裁剪或下缩的结果。
共享屏幕轨道的实例属性
包含用户屏幕共享视频的轨道(无论屏幕数据是来自整个屏幕还是屏幕的一部分,例如窗口或标签)通常被视为视频轨道,但它们还支持以下附加设置:
cursor-
一个字符串,指示鼠标光标是否包含在生成的流中以及在什么条件下。可能的值为:
displaySurface-
一个字符串,指定轨道包含的源类型;可以是以下之一:
logicalSurface-
一个布尔值,如果为
true,则表示流的视频轨道中包含的视频包含后台渲染上下文,而不是用户可见的上下文。如果捕获的视频来自前台(用户可见)源,则为false。 screenPixelRatio-
一个数字,表示捕获显示表面的像素物理尺寸(以物理分辨率显示)与捕获屏幕上的 CSS 像素逻辑尺寸(以逻辑分辨率显示)之比。它不能用作约束或功能。
规范
| 规范 |
|---|
| 媒体捕获和流 # media-track-settings |
| 屏幕捕获 # extensions-to-mediatracksettings |