<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          ?Chrome 87新功能:支持操作相機(jī)、訪問本地字體

          共 2770字,需瀏覽 6分鐘

           ·

          2020-12-15 02:52


          Chrome 87?穩(wěn)定版已對外發(fā)布,本次主要帶來三個重大更新:

          • 相機(jī)操作AP:平移,傾斜,變焦
          • 范圍請求的service worker支持
          • 字體訪問API

          下面是?Chrome?開發(fā)者?Pete LePage?在?YouTube?中的視頻介紹:

          沒字幕?不要緊,來看我的圖文解讀。

          攝像頭操作AP:平移,傾斜,變焦

          從?Chrome 87?開始,一旦用戶授予權(quán)限,就可以控制相機(jī)上的?PTZ?功能。

          特征檢測可能與你熟悉的工作方式不一樣,你需要調(diào)用?navigator.mediaDevices.getSupportedContraints()?查看瀏覽器是不是支持?PTZ?。

          const?supports?=?navigator.mediaDevices.getSupportedConstraints();

          if?(supports.pan?&&?supports.tilt?&&?supports.zoom)?{
          ??//?Browser?supports?camera?PTZ.
          }

          像所有其他強(qiáng)大的API一樣,用戶將需要授予攝像頭的許可權(quán),還需要授予PTZ功能許可權(quán)。

          try?{
          ??const?opts?=?{video:?{pan:?true,?tilt:?true,?zoom:?true}};
          ??const?stream?=?await?navigator.mediaDevices.getUserMedia(opts);
          ??document.querySelector("#video").srcObject?=?stream;
          }?catch?(error)?{
          ??//?User?denies?prompt,?or
          ??//?matching?media?is?not?available.
          }

          調(diào)用?MediaStreamTrack.getSettings()?會告訴你相機(jī)都支持什么功能。

          const?[videoTrack]?=?stream.getVideoTracks();
          const?capabilities?=?videoTrack.getCapabilities();
          const?settings?=?videoTrack.getSettings();

          if?('pan'?in?settings)?{
          ??enablePan(capabilities,?settings);
          }
          //?Similar?for?tilt?and?zoom...

          用戶授予權(quán)限后,您可以調(diào)用?videoTrack.applyConstraints()?來調(diào)整平移,傾斜和縮放。

          function?enablePan(capabilities,?settings)?{
          ??const?input?=?document.getElementById('rangePan');
          ??input.min?=?capabilities.pan.min;
          ??input.max?=?capabilities.pan.max;
          ??input.step?=?capabilities.pan.step;
          ??input.value?=?settings.pan;

          ??input.addEventListener('input',?async?()?=>?{
          ????const?opts?=?{?advanced:?[{?pan:?input.value?}]?};
          ????await?videoTrack.applyConstraints(opts);
          ??});
          }

          你可以到?web.dev?的?https://web.dev/camera-pan-tilt-zoom/?文章查看更多關(guān)于相機(jī)操作?API?的功能。

          范圍請求的service worker支持

          HTTP 范圍請求允許服務(wù)器只發(fā)送 HTTP 消息的一部分到客戶端。范圍請求在傳送大的媒體文件,或者與文件下載的斷點(diǎn)續(xù)傳功能搭配使用時非常有用。其中較大的媒體文件可通過更流暢的播放,增強(qiáng)的清理和更好的暫停和恢復(fù)功能來改善用戶體驗(yàn)。

          假如在響應(yīng)中存在?Accept-Ranges?首部(并且它的值不為?none),那么表示該服務(wù)器支持范圍請求。

          curl?-I?http://i.imgur.com/z4d4kWk.jpg

          HTTP/1.1?200?OK
          ...
          Accept-Ranges:?bytes
          Content-Length:?146515

          如果站點(diǎn)未發(fā)送?Accept-Ranges?首部,那么它們有可能不支持范圍請求。一些站點(diǎn)會明確將其值設(shè)置為 "none",以此來表明不支持。

          在以前,范圍請求和?service worker?不能很好的協(xié)同工作,從?Chrome 87?開始,你可以很好的將兩者配合使用:

          self.addEventListener('fetch',?(event)?=>?{
          ??//?The?Range:?header?will?pass?through
          ??//?in?browsers?that?behave?correctly.
          ??event.respondWith(fetch(event.request));
          });

          你可以到?web.dev?的?https://web.dev/sw-range-requests/?文章查看更多關(guān)于兩者配合使用的內(nèi)容。

          字體訪問API

          Figma,Gravit?和?Photopea?都是非常棒的設(shè)計軟件,他為我們設(shè)計出了非常多優(yōu)秀的內(nèi)容,對于許多設(shè)計師來說,他們的計算機(jī)上安裝了一些對他們的工作至關(guān)重要的字體。借助字體訪問API,站點(diǎn)現(xiàn)在可以枚舉計算機(jī)中已安裝的字體,從而使用戶可以訪問其系統(tǒng)上的所有字體。

          //?Query?for?all?available?fonts?and?log?metadata.
          const?fonts?=?navigator.fonts.query();
          try?{
          ??for?await?(const?metadata?of?fonts)?{
          ????console.log(`${metadata.family}?(${metadata.fullName})`);
          ??}
          }?catch?(err)?{
          ??console.error(err);
          }

          //?Roboto?(Roboto?Black)
          //?Roboto?(Roboto?Black?Italic)
          //?Roboto?(Roboto?Bold)

          瀏覽 191
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  精品大香蕉| 亚洲无玛在线 | 国产乱伦肏屄视频 | 91大香交 | a毛片在线免费观看 |