`MediaDevices.getUserMedia` `undefined` 的問題


通過 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",多個以逗號分隔。
  • 重啟后生效。

相關資源


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM