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.
        });
    });
  • 相关阅读:
    【动态规划】51nod1780 完美序列
    【树形dp】bzoj4726: [POI2017]Sabota?
    初涉manacher
    【数位dp】bzoj3131: [Sdoi2013]淘金
    【思维题 kmp 构造】bzoj4974: [Lydsy1708月赛]字符串大师
    web框架
    Bootstrap补充
    jQuery之jQuery扩展和事件
    JQuery之文档操作
    JQuery之属性操作
  • 原文地址:https://www.cnblogs.com/iuyy/p/13407844.html
Copyright © 2011-2022 走看看