在網頁程式使用 Navigator.getUserMedia() 要求取得用戶端的WebCam或麥克風時,若用戶端瀏覽器是Chrome會出現以下錯誤訊息:
Permissions have not been granted to use your camera and microphone, you need to allow the page access to your devices in order for the demo to work.
getUserMedia error: PermissionDeniedError
除非透過HTTPS,才能夠正常運作(Firefox則目前無此限制)。
根據Chome官方文件:
除非網站啟用SSL (HTTPS),否則想要使用以下功能都有相同的問題:
- Geolocation — requires secure origins as of M50
- Device motion / orientation
- EME
- getUserMedia
- AppCache
若開發階段,無法使用HTTPS,那麼可以使用--unsafely-treat-insecure-origin-as-secure參數啟動Chrome,在命令提示字元輸入以下指令啟動chrome,並把example.com取代成伺服端網站位置
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --unsafely-treat-insecure-origin-as-secure="http://example.com/" --user-data-dir=/test/only/profile/dir
這樣就可以使用HTTP來測試了! 以下是測試WebCam範例:
沒有留言:
張貼留言