zoukankan      html  css  js  c++  java
  • MediaStreamTrack.applyConstraints()方法

    MediaStreamTrack接口的applyConstraints()方法的作用是向轨道应用一组约束。 这些约束使网站或应用程序可以为轨道的可约束属性(例如帧频,尺寸,回声消除等)建立理想值和可接受的范围值。

    约束可用于确保媒体符合您喜欢的某些准则。 例如,您可能更喜欢高清视频,但要求帧速率稍低一些,以帮助将数据速率保持在足够低的水平,以免使网络过载。 约束还可以指定理想的和/或可接受的大小或大小范围。 

    语法

    const promise = track.applyConstraints(constraints);

    参数

    constraints 可选的

    一个MediaTrackConstraints对象,列出要应用于轨道的可约束属性的约束。任何现有的约束都将替换为指定的新值,并且未包括的所有可约束属性都将恢复为其默认约束。 如果省略此参数,那么将清除所有当前设置的自定义约束。 

    返回值

    当约束应用成功的时,返回一个Promise对象。 如果约束应用失败,则使用名为OverconstrainedError的MediaStreamError失败回调Promise,以指示无法满足约束。 如果指定的约束过于严格而无法在试图配置轨道时找到匹配项,则会发生这种情况。

    例子

    下面的例子显示了如何指定基本和高级约束集。 它指定页面或Web应用程序需要在640和1280之间的宽度以及在480和720之间的高度,每对中的后一个数字是首选。 advanced属性进一步指定1920 x 1280的图像大小是首选,如果没有可用的宽高比,则为1.333。 

    const constraints = {
                      {min: 640, ideal: 1280},
                  height:   {min: 480, ideal: 720},
                  advanced: [{ 1920, height: 1280},{aspectRatio: 1.333}]
                };
    
    navigator.mediaDevices.getUserMedia({ video: true })
    .then(mediaStream => {
        const track = mediaStream.getVideoTracks()[0];
        track.applyConstraints(constraints)
        .then(() => {
            // Do something with the track such as using the Image Capture API.
        })
        .catch(e => {
            // The constraints could not be satisfied by the available devices.
        });
    });
  • 相关阅读:
    bzoj 1012: [JSOI2008]最大数maxnumber 线段树
    Codeforces Round #260 (Div. 2) A , B , C 标记,找规律 , dp
    Codeforces Round #256 (Div. 2) E. Divisors 因子+dfs
    Codeforces Round #340 (Div. 2) E. XOR and Favorite Number 莫队算法
    Codeforces Round #348 (VK Cup 2016 Round 2, Div. 1 Edition) C. Little Artem and Random Variable 数学
    BZOJ 1005 [HNOI2008]明明的烦恼 purfer序列,排列组合
    BZOJ 1211: [HNOI2004]树的计数 purfer序列
    UVA 1629 Cake slicing 记忆化搜索
    UVA1630 Folding 区间DP
    BNU 51640 Training Plan DP
  • 原文地址:https://www.cnblogs.com/iuyy/p/13407844.html
Copyright © 2011-2022 走看看