1
0

More than 3 years have passed since last update.

JavaScriptでgetUserMediaでマイク・カメラ(ビデオ)を使うときの注意点とデバイスへのアクセス権限について

Last updated at Posted at 2020-01-24

マイクのみ使用するのにaudioのみの指定では動かないブラウザがある

とあるサンプルがEdgeで動作したがChromeで動作しなかったので調べてみた。

Chromeはaudioだけでなくvideoも指定しないと音声入力が取得ができない。
https://www.html5rocks.com/ja/tutorials/getusermedia/intro/ より引用:

注: Chrome にはバグがあり、「audio」のみを渡しても無効です(crbug.com/112367)。Opera でも を動作させることはできませんでした。

自分でも確認しましたが、
 Chromeのバージョン: 79.0.3945.130(Official Build) (64 ビット)
で再現しました。audio指定のみでは動作せず、videoaudioと一緒に指定すると動作する。

navigator.mediaDevices.getUserMediaが推奨らしい

navigator.getUserMediaではなくnavigator.mediaDevices.getUserMediaが推奨らしい

アクセス権限について

ブラウザが管理しているようである。
サイト(ドメイン)単位で管理されるっぽい?
意識していないと結構危険かもしれない。

例:CodePenのある1作品で許可してたら、ほかの作品からアタックされる恐れがある。
(マイクやカメラを許可済みにすると、許可したときのページのみではなく、ドメイン上の任意のページからのアクセスを許可したことになってしまうので、知らない間にCodePenの作品を埋め込んだページを含んで情報が吸い上げられることも考えられる。)1

アクセス権を削除するには - Microsoft Edge

image.png

image.png

image.png
アクセス権を設定したドメインの名前が一覧表示されるので、変更したいものを選んで処置してください。

アクセス権を削除するには - Chrome (PC版)

image.png

image.png

image.png

image.png
あとはお好みで。


  1. CodePenが悪いわけではなく、レンタルサーバ上のブログなどでも同様。CodePenを例にしたのはたまたま自分が使ってたから。 

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0