1. ホーム
  2. javascript

[解決済み】navigator.mediaDevices.getUserMediaで開いているWebカメラストリームを停止/終了する【終了しました

2022-04-16 20:13:20

質問

<余談
クローズド . この質問はもっと必要です 集中的 . 現在、回答は受け付けておりません。

<パス

この質問を改善したいですか? 問題を更新して、1つの問題だけに焦点を当てるようにする。 本論文の編集 .

クローズド 1年前 .

以下のJavaScriptのコードを使って、Webカメラを開きました。

const stream = await navigator.mediaDevices.getUserMedia({ /* ... */ });

ウェブカメラを停止または閉じるためのJavaScriptコードはありますか?皆さん、ありがとうございます。

解決方法は?

EDIT

この回答が最初に投稿された後、ブラウザのAPIが変更されました。 .stop() は、コールバックに渡されるストリームでは利用できなくなりました。 開発者は、ストリームを構成するトラック(オーディオまたはビデオ)にアクセスし、それぞれを個別に停止する必要があります。

詳しくはこちら https://developers.google.com/web/updates/2015/07/mediastream-deprecations?hl=en#stop-ended-and-active

例(上記リンクより)。

stream.getTracks().forEach(function(track) {
  track.stop();
});

ブラウザの対応状況は異なる場合があります。

オリジナルの回答

navigator.getUserMedia は、サクセスコールバックでストリームを提供してくれるので、そのストリームを使って .stop() をクリックすると、録画が停止します(少なくともChromeでは、FFはこれを好まないようです)。