Uygulamamda, kullanıcının kamerasından bir video görüntülemek için getUserMedia
'u kullanan kalıcı bir iletişim kutusu var. Bu, "Reddet/İzin Ver" çubuğunun görünmesine neden olur. Kullanıcının "Reddet" veya "İzin Ver" i tıklamadan önce iletişim kutusunu kapattığını varsayalım. Çubuk, onu kullanan elemanlar ortadan kalkmış olsa bile kalır.Bir getUserMedia isteğini iptal etme
Tarayıcı, kullanıcı etkileşimde bulunmasa bile izin isteğini gizleyebileceğini tarayıcıya bildirmenin bir yolu var mı? Üzerinde stop() çağırır,
$("body").on('click', "#stop_button", function(e) {
e.preventDefault();
mediaStream.stop();
});
MediaStream senin örnekte Yani
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
çağrıldığında tanımlandı benim küresel değişkendir:
Hayır ve bunun için güvenlik nedenleri var. Alan, etki alanı izin verilenler listesinde yoksa, alan her zaman medyaya erişmeyi dener. –
Sorunun yanlış yazılmış olduğunu fark ettim. Gerçekten sorduğumdan başka bir şey soruyormuş gibi geldi. Umarım benim düzenim soruyu yeterince açıklığa kavuşturmuştur. –
Umarım sakıncası yoktur, ama birilerinin cevap verme ihtimalinin daha yüksek olduğu umuduyla soruyu daha basit bir forma indirdim. Birden fazla istek almayla ilgili alt probleminiz, daha geniş kapsamı olan değişkenler, örneğin genel bir akış nesnesi ve erişim verildiğinde çağrılan global bir işlev kullanılarak çözülebilir. O zaman hangi geri dönüşlerin patlaması önemli değil, çünkü her ikisinin de aynı etkiye sahip olacaklar. – Dave