自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

細(xì)說(shuō)手機(jī)上的環(huán)境傳感器及W3C中相關(guān)API

移動(dòng)開(kāi)發(fā)
手機(jī)上的環(huán)境傳感器,一般包括氣壓傳感器、溫度傳感器、濕度傳感器、光傳感器、聲音傳感器和距離傳感器等。氣壓傳感器能通過(guò)氣壓測(cè)量,判斷手機(jī)當(dāng)前位置的海拔高度,能提高GPS定位的精度,在三星Galaxy Nexus上有配備;溫度傳感器一方面用來(lái)測(cè)量氣溫,判斷當(dāng)前環(huán)境是否舒適,一方面也能監(jiān)測(cè)手機(jī)內(nèi)部溫度是否異常;而比較普遍的是光傳感器和距離傳感器,對(duì)智能手機(jī)來(lái)說(shuō)幾乎是標(biāo)配,并且一般設(shè)計(jì)位于手機(jī)正面上方聽(tīng)筒附近位置。

手機(jī)上的環(huán)境傳感器,一般包括氣壓傳感器、溫度傳感器、濕度傳感器、光傳感器、聲音傳感器和距離傳感器等。氣壓傳感器能通過(guò)氣壓測(cè)量,判斷手機(jī)當(dāng)前位置的海拔高度,能提高GPS定位的精度,在三星Galaxy Nexus上有配備;溫度傳感器一方面用來(lái)測(cè)量氣溫,判斷當(dāng)前環(huán)境是否舒適,一方面也能監(jiān)測(cè)手機(jī)內(nèi)部溫度是否異常;而比較普遍的是光傳感器和距離傳感器,對(duì)智能手機(jī)來(lái)說(shuō)幾乎是標(biāo)配,并且一般設(shè)計(jì)位于手機(jī)正面上方聽(tīng)筒附近位置。

距離傳感器和環(huán)境光傳感器

img1.jpg

距離傳感器由一個(gè)紅外LED燈和紅外輻射光線探測(cè)器構(gòu)成。距離傳感器位于手機(jī)的聽(tīng)筒附近的主要原因是,當(dāng)手機(jī)靠近耳朵時(shí),系統(tǒng)通過(guò)距離傳感器知道用戶在通電話,然后會(huì)關(guān)閉顯示屏,防止用戶因誤操作影響通話。距離傳感器利用“飛行時(shí)間法”的原理來(lái)檢測(cè)與物體之間距離,它通過(guò)發(fā)射特別短的光脈沖,由被物體反射回來(lái)的時(shí)間計(jì)算而得。

手機(jī)的光傳感器,即環(huán)境光傳感器,能感知設(shè)備周圍光線情況。手機(jī)操作系統(tǒng)利用光線傳感器的數(shù)據(jù),自動(dòng)調(diào)節(jié)顯示屏亮度—當(dāng)環(huán)境亮度高時(shí),顯示屏亮度會(huì)相應(yīng)調(diào)高;當(dāng)環(huán)境亮度低時(shí),顯示屏亮度也會(huì)相應(yīng)調(diào)低。自動(dòng)亮度一方面保證了手機(jī)在不同環(huán)境中的屏幕閱讀體驗(yàn),一方面降低了電量損耗,***限度地延長(zhǎng)設(shè)備工作時(shí)間。

Proximity API

Proximity API是W3C規(guī)范中關(guān)于距離傳感器的一個(gè)獨(dú)立API,為Web開(kāi)發(fā)者提供設(shè)備與物體之間的距離信息?;谠O(shè)備的距離信息,我們能做的可不只是通話時(shí)熄滅屏幕,我可以在手機(jī)網(wǎng)頁(yè)中播放音樂(lè)時(shí),不需要觸碰屏幕就能使音樂(lè)暫停,我也可以在手機(jī)網(wǎng)頁(yè)游戲中,像玄幻魔術(shù)般控制角色的進(jìn)退……

該API中定義了兩個(gè)設(shè)備事件deviceproximity和userproximity,前者提供設(shè)備與物體之間的距離信息,后者判斷是否感應(yīng)到有物體接近。我們先看看當(dāng)前瀏覽器是否支持:

  1. if ('ondeviceproximity' in window) { 
  2. // 支持返回距離信息 
  3.   
  4. if ('onuserproximity' in window) { 
  5. // 支持返回是否有物體靠近 

deviceproximity事件提供三個(gè)屬性:value,min和max。value代表設(shè)備與設(shè)備前物體的距離,min和max代表傳感器能檢測(cè)的距離范圍,單位是厘米。

 
  1. if ('ondeviceproximity' in window) { 
  2. window.addEventListener('deviceproximity', function(event) { 
  3. proximityValue.innerHTML = event.value; 
  4. proximityMax.innerHTML = event.max; 
  5. proximityMin.innerHTML = event.min; 
  6. }); 

userproximity事件有一個(gè)屬性:near。它是一個(gè)布爾值,代表是否有設(shè)備前方是否有物體靠近,默認(rèn)是false。它探測(cè)的范圍也是deviceproximity的檢測(cè)距離范圍。

 
  1. if ('onuserproximity' in window) { 
  2. window.addEventListener('userproximity', function(event) { 
  3. inProximity.innerHTML = event.near; 
  4. }); 

通過(guò)以上兩個(gè)事件,我們能感知到設(shè)備與物體的距離信息,通過(guò)綁定網(wǎng)頁(yè)元素的控制事件,可以實(shí)現(xiàn)網(wǎng)頁(yè)上不觸摸屏幕的手勢(shì)交互。

Ambient Light API

Ambient Light API,W3C規(guī)范中關(guān)于環(huán)境光傳感器的一個(gè)獨(dú)立API,為Web開(kāi)發(fā)者提供設(shè)備感應(yīng)到的環(huán)境光強(qiáng)度的數(shù)值。該API最初提供了2個(gè)事件監(jiān)聽(tīng)設(shè)備的環(huán)境光狀況:devicelight和lightlevel。前者返回環(huán)境光強(qiáng)度的數(shù)值,使用勒克斯(lux)照度單位;后者描述當(dāng)前環(huán)境光的強(qiáng)度等級(jí)————暗淡、正常和明亮。在***的W3C規(guī)范中,已經(jīng)移除了lightlevel事件,事實(shí)上,我們完全可以通過(guò)devicelight自己來(lái)定義光的強(qiáng)度等級(jí)。

 
  1. if ('ondevicelight' in window) { 
  2. // 瀏覽器支持檢測(cè) 
  3. window.addEventListener('devicelight', function(event) { 
  4. // 獲取光強(qiáng)度數(shù)值 
  5. lightValue.innerHTML = Math.round(event.value); 
  6. }); 

devicelight事件只有一個(gè)value屬性,隨著測(cè)試設(shè)備不同可能有不同的返回?cái)?shù)值,范圍從0到無(wú)窮大。基于這個(gè)環(huán)境光強(qiáng)度,我們可以在網(wǎng)頁(yè)中做到自動(dòng)切換夜間主題,盡力減緩網(wǎng)頁(yè)閱讀造成的用戶眼睛疲勞。觀察不同環(huán)境中該數(shù)值的變化,我們?cè)O(shè)定兩個(gè)主題變化的分界點(diǎn):50lux和10000lux,因此有:

 
  1. if (event.value < 50) { 
  2. document.body.className = 'dark-theme'
  3. else if (event.value < 10000) { 
  4. document.body.className = 'classic-theme'
  5. else { 
  6. document.body.className = 'light-theme'

不僅如此,在網(wǎng)頁(yè)游戲中,我們可以根據(jù)當(dāng)前環(huán)境光強(qiáng)度,匹配不同的主題場(chǎng)景作為游戲背景,烘托環(huán)境氛圍,強(qiáng)化游戲的現(xiàn)實(shí)代入感。

兼容性

遺憾的是,目前桌面和移動(dòng)瀏覽器中都僅有firefox支持Proximity API和Ambient Light API,并且桌面版對(duì)Ambient Light API的支持只限于Mac OS X系統(tǒng)中。

圖片2.jpg

[圖1.2 Proximity API支持情況]

圖片3.jpg

[圖1.3 Ambient Light API支持情況]

責(zé)任編輯:倪明 來(lái)源: AlloyTeam
相關(guān)推薦

2012-07-05 10:02:39

CSS

2010-09-28 09:38:22

DOM模型

2011-09-07 17:28:15

2010-05-23 10:11:01

Widget開(kāi)發(fā)

2012-04-13 09:55:20

CSSWEB

2021-01-28 15:25:11

W3CIETFWebRTC

2012-12-19 09:33:20

HTML5

2010-06-11 16:54:50

無(wú)線路由協(xié)議

2012-05-14 16:16:53

Opera瀏覽器W3C

2012-04-06 13:18:58

IE6W3CDIV

2009-04-03 09:06:00

瀏覽器W3C標(biāo)準(zhǔn)

2015-07-03 16:59:05

W3C檢查工具Mobile Chec

2024-01-23 17:13:07

2009-03-28 09:51:12

2012-05-17 09:32:48

傲游瀏覽器W3C

2016-08-05 13:29:39

w3c流程css

2021-01-28 21:40:25

webRTC音視頻Web

2009-07-06 00:13:04

HTML 5XHTML 2

2012-12-19 10:15:04

HTML 5

2022-12-07 14:45:16

數(shù)據(jù)中心溫度傳感器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)