- WebRTC技术详解:从0到1构建多人视频会议系统
- 栗伟
- 392字
- 2021-04-20 11:41:29
2.3.2 数据类型与用法
通常为约束指定值时,既可以指定具体值也可以指定一个对象,在对象中包含exact或ideal属性,用来告诉浏览器该约束的确切值和理想值;有的约束还支持在对象中指定最小值(min)或最大值(max)。
以视频width为例,其数据类型是ConstrainULong,代码清单2-28中展示了类型为ConstrainULong时,为width指定约束条件的3种方法。
代码清单2-28 为width指定约束条件的3种方法
// 方法1:直接指定值 const constraints = { width: 1280, height: 720, aspectRatio: 3/2 }; // 方法2:指定最小值和理想值 const constraints = { frameRate: {min: 20}, width: {min: 640, ideal: 1280}, height: {min: 480, ideal: 720}, aspectRatio: 3/2 }; // 方法3:指定最小值、理想值和最大值 const constraints = { width: {min: 320, ideal: 1280, max: 1920}, height: {min: 240, ideal: 720, max: 1080}, };
可以看到,约束的使用非常灵活,每种用法表达的含义不同,而用法与其数据类型又有直接的关系,为了更好地理解约束并掌握约束的用法,我们先介绍约束使用的数据类型,如表2-2所示。
表2-2 约束相关的数据类型
请注意MediaTrackConstraints定义中属性的类型,不同的类型意味着不同的使用方法,将数据类型与表2-2进行对照,其用法便清晰了。