web-dev-qa-db-ja.com

navigator.mediaDevices.getUserMediaは機能せず、webkitGetUserMediaも機能しません

WebkitGetUserMediaメソッド(adapter.jsを介したgetUserMedia)を使用して、WebアプリでwebRTC用のカメラとmicrohponeを取得しています。私のサーバーは安全ではありません(SSL証明書はありません)。 「getUserMedia()は安全でないオリジンでは動作しなくなりました。この機能を使用するには、アプリケーションをHTTPSなどの安全なオリジンに切り替えることを検討する必要があります。 https: //goo.gl/rStTGz をご覧ください。」

グーグルで検索したところ、Chromeでnavigator.mediaDevices.getUserMedia()を使用する必要があることがわかりました。 Chrome 47.0.2526.80 mを使用しています。このページでは https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia このバージョンではこのメソッドをサポートする必要があると書かれています。ただし、navigator.mediaDevices.getUserMediaを呼び出すと、未定義になります。そのため、Chromeではどちらの方法も使用できません。

誰でもこの問題で私を助けてください。ありがとう

17
Michael P

新しいchrome update(GoogleからChrome= 47)、getUserMedia()はchrome browser over http://(Unsecure Origin)、https://(Secure Origin)で動作します

開発目的のために、

1.localhostはHTTP経由の安全なOriginとして扱われるため、localhostからサーバーを実行できる場合は、そのサーバーで機能をテストできるはずです。

2。chromeで--unsafely-treat-insecure-Origin-as-secure="http://example.com"フラグを使用して( "example.com"を実際にテストしたいOriginに置き換えます)]を実行できます。 。フラグが機能するための新しいテストプロファイルを作成するには、--user-data-dir=/test/only/profile/dirも含める必要があることに注意してください。

参照: https://sites.google.com/a/chromium.org/dev/Home/chromium-security/deprecating-powerful-features-on-insecure-origins

33
Mohammed Safeer

最後のgoogle-chrome更新により、getUserMediaは安全なオリジンでのみ動作します。それを機能させる方法がありますが、それは開発目的のためだけです。それらのオプションでcmdを使用してchromeを実行するだけです

--unsafely-treat-insecure-Origin-as-secure = "example.com"

このオプションは新しいユーザープロファイルを使用します

--user-data-dir =/test/only/profile/dir

FYI getUserMediaは今までfirefoxで動作しますが、私の意見では、google-chromeのような安全なOriginを推奨します。

9
Kassav'

Chrome 47、httpsを使用している限りで古いメソッド名を引き続き使用できます。名前の変更は、47の新しいsecure-Origin要件と直交しています。答えます。

欠落しているメソッド:navigator.mediaDevices.getUserMediaは、Chromeで フラグの下に戻る に配置されたため、chrome://flags/#enable-experimental-web-platform-featuresまたは、次のようにadapter.jsの最新バージョンを使用します。 https://stackoverflow.com/a/34230983/91891

5
jib