應該有很多人知道,我們的手機里面有個功能是“抓拍入侵者”,說白了就是在解鎖應用時如果我們輸錯了密碼手機就會調用這一功能實現自動拍照。
其實在手機上還有很多我們常用的軟件都有類似於這樣的功能,比如微信掃一掃二維碼,玩圖……
感覺挺有趣的,今天,我們就來研究一下這個功能的原理,不過我們不是用Android來做,而是用HTML5和javascript來做,瀏覽器支持IE9+。
布局很簡單,就是設置一個“拍照”按鈕的監聽器,調用攝像頭video,然后顯示出來畫像。(需要用戶權限)
首先,我們要允許網頁寬度自動調整,我們在網頁頭添加viewport標簽:
<meta name="viewport" content="width=device-width, initial-scale=1" />
還有一個重點知識,就是getUserMedia(獲取用戶多媒體)。
使用這個getUserMedia API可以訪問多媒體設備,利用該API與<video>和canvas元素,可以在瀏覽器里面捕獲許多漂亮的圖片。
所以除了視頻,還有音頻,所以接口要變成類似{video: true,audio:false},可以設定音視頻的獲取開關。
navigator對象包含的屬性描述了正在使用的瀏覽器,可以使用這些屬性進行平台專用的配置。
如果瀏覽器檢測不到攝像頭,則會提示:
That's all right,我們直接走起看Demo吧: