通過 MediaDevices.getUserMedia() 獲取用戶多媒體權限時,需要注意其只工作於以下三種環境:
localhost
域- 開啟了 HTTPS 的域
- 使用
file:///
協議打開的本地文件
其他情況下,比如在一個 HTTP
站點上,navigator.mediaDevices
的值為 undefined
。
如果想要 HTTP
環境下也能使用和調試 MediaDevices.getUserMedia()
,可通過開啟 Chrome 的相應參數。
通過相應參數啟動 Chrome
傳遞相應參數來啟動 Chrome,以 http://example.com
為例,
--unsafely-treat-insecure-origin-as-secure="http://example.com"
開啟相應 flag
通過傳遞相應參數來啟動 Chrome Insecure origins treated as secure
flag 並填入相應白名單。
- 打開
chrome://flags/#unsafely-treat-insecure-origin-as-secure
- 將該 flag 切換成
enable
狀態 - 輸入框中填寫需要開啟的域名,譬如
http://example.com"
,多個以逗號分隔。 - 重啟后生效。