私のアプリケーションには、ユーザーのカメラからのビデオを表示するためにgetUserMedia
を使用するモーダルダイアログボックスがあります。これにより、「拒否/許可」バーが表示されます。ユーザーが「拒否」または「許可」をクリックする前にダイアログを閉じるとします。それを使用していた要素が消えても、バーは残っています。getUserMediaリクエストのキャンセル
ユーザーがアクセスしたことがないにもかかわらず許可要求を非表示にできることをブラウザに通知する方法はありますか?あなたは上の停止()を呼び出します、
$("body").on('click', "#stop_button", function(e) {
e.preventDefault();
mediaStream.stop();
});
MediaStreamのは、私はあなたの例ではそう
navigator.getUserMedia(
{
video: true,
audio: false
},
function(stream) {
if (navigator.mozGetUserMedia) {
video.mozSrcObject = stream;
} else {
var url = window.URL || window.webkitURL;
video.src = url ? url.createObjectURL(stream) : stream;
}
mediaStream = stream;
video.play();
},
function(error) {
console.log("ERROR: " + error);
}
);
getUserMedia
呼び出されたときに定義されていた私のグローバル変数です:
いいえ、セキュリティ上の理由があります。ブラウザは、ドメインが許可/拒否リストにまだない場合、ドメインがそのメディアにアクセスしようとするたびに尋ねます。 –
私の質問は気まずいと感じました。私が本当に求めていたもの以外のものを求めていたように聞こえました。うまくいけば私の編集は十分に質問を明確にしている。 –
私はあなたが気にしないことを願っていますが、誰かが答える可能性が高いという希望で、質問をより単純な形に縮小しました。複数の要求を持つという副次的な問題は、グローバルスコープオブジェクトや、アクセスが許可されたときに呼び出されるグローバル関数など、スコープの広い変数を使用することで解決できます。どちらのコールバックも同じ効果があるので、どちらのコールバックが発生するかは関係ありません。 – Dave