JS:エラーUncaught TypeError: navigator.getUserMedia is not a functionが表示されたときの対処方法

JS:エラーUncaught TypeError: navigator.getUserMedia is not a functionが表示されたときの対処方法JavaScript
スポンサーリンク

JavaScriptなどで内蔵カメラやマイクによる録画や録音をともなうプログラムを動作させようとした際、

Uncaught TypeError: navigator.getUserMedia is not a function

なるエラーが表示される場合がある。

例えばローカルでは、こんな感じでマイクの許可を促すメッセージが出るようなサイトをアップロードした場合に上記のエラーが出る。

JS:エラーUncaught TypeError: navigator.getUserMedia is not a functionが表示されたときの対処方法

その対処方法。

結論
https://~から始まるSSL化されたサーバURLにアップロードすれば即解決する。

というわけで、Chromeなどのブラウザは、内蔵マイクによる録音や録画などのプログラムをブラウザ上で動作させる際は、SSL化されたサイトでないとパソコンやスマホに内蔵されたカメラやマイク等にアクセスできない仕様となっているということ。

こちらのサイトに書かれていました。(要約するとChromeではWebsocket接続は、SSL接続で強制だが、Firefoxでは大丈夫…と書いてあったが、Firefoxでも同じエラーで動作しませんでした

Cannot read property ‘getUserMedia’ of undefined – GitHub

セキュリティ上やむを得ないので、素直にサイトをSSL化するかして対処してください。

コメント