0
私はウェブカメラをストリーミングしており、ウェブカメラを停止する方法が必要です。私は、コールバック関数の外でトラック変数に到達することはできませんが、ストリーミングトラックでstopを呼び出すことによってそれを停止しようとしています。コールバック関数の外でこの関数内でtrackにアクセスするにはどうすればよいですか?基本的にはこのような:ストリームコールバック関数外の変数にアクセスする - JavaScript、WebRTC
var track;
function successCallback(stream) {
localstream = stream; // stream available to console
track = stream.getTracks()[0];
if (window.URL) {
video.src = window.URL.createObjectURL(stream);
} else {
video.src = stream;
}
}
track.stop();
完全なインスタンスは、次のようになります。
function media(i) {
navigator.getUserMedia = navigator.getUserMedia ||
navigator.webkitGetUserMedia || navigator.mozGetUserMedia;
var constraints = {
audio: false,
video: true
};
var video = document.querySelectorAll("video")[i];
var localstream;
function successCallback(stream) {
localstream = stream; // stream available to console
var track = stream.getTracks()[0];
if (window.URL) {
video.src = window.URL.createObjectURL(stream);
} else {
video.src = stream;
}
track.stop();
}
function errorCallback(error) {
console.log('navigator.getUserMedia error: ', error);
}
navigator.getUserMedia(constraints, successCallback, errorCallback);
}
場合は、 'successCallback'は、非同期操作で呼び出されることはできません。コールバックの使用に関連するより多くのコード・コンテキストを提供し、達成する必要があるもののより良い説明を提供してください。 [ask]と[mcve]を参照してください – charlietfl
'track.stop()'を呼び出すとどうなるでしょうか? – guest271314
ウェブカメラのストリーミングを停止する。質問が更新されます! – Jesper