JavaScriptなどで内蔵カメラやマイクによる録画や録音をともなうプログラムを動作させようとした際、
Uncaught TypeError: navigator.getUserMedia is not a function
なるエラーが表示される場合がある。
例えばローカルでは、こんな感じでマイクの許可を促すメッセージが出るようなサイトをアップロードした場合に上記のエラーが出る。
その対処方法。
というわけで、Chromeなどのブラウザは、内蔵マイクによる録音や録画などのプログラムをブラウザ上で動作させる際は、SSL化されたサイトでないとパソコンやスマホに内蔵されたカメラやマイク等にアクセスできない仕様となっているということ。
こちらのサイトに書かれていました。(要約するとChromeではWebsocket接続は、SSL接続で強制だが、Firefoxでは大丈夫…と書いてあったが、Firefoxでも同じエラーで動作しませんでした)
Cannot read property ‘getUserMedia’ of undefined – GitHub
セキュリティ上やむを得ないので、素直にサイトをSSL化するかして対処してください。
コメント