Как да разрешите автоматичен достъп до уеб камерата

Опитвам се да разработя уеб страница, която има достъп до моята уеб камера, използвайки следния JS код:

(function( $ ){

$.fn.html5_qrcode = function(qrcodeSuccess, qrcodeError, videoError) {
'use strict';

var height = this.height();
var width = this.width();

if (height == null) {
  height = 250;
}

if (width == null) {
  width = 300;
}

var vidTag = '<video id="html5_qrcode_video" width="' + width + 'px" height="' +   height   + 'px"></video>' 
var canvasTag = '<canvas id="qr-canvas" width="' + (width - 2) + 'px" height="' + (height - 2) + 'px" style="display:none;"></canvas>' 

this.append(vidTag);
this.append(canvasTag);



var video = $('#html5_qrcode_video').get(0);
var canvas;
var context; 
var localMediaStream;

$('#qr-canvas').each(function(index, element) {
  canvas = element;
  context = element.getContext('2d');   
});



var scan = function() {
  if (localMediaStream) {
    context.drawImage(video, 0, 0, 307,250);

    try {
      qrcode.decode();
    } catch(e) {
      qrcodeError(e);
    }

    setTimeout(scan, 500);

  } else {
    setTimeout(scan,500);
  }
}//end snapshot function

window.URL = window.URL || window.webkitURL || window.mozURL || window.msURL;
navigator.getUserMedia  = navigator.getUserMedia || navigator.webkitGetUserMedia ||      navigator.mozGetUserMedia || navigator.msGetUserMedia;

var successCallback = function(stream) {
    video.src = (window.URL && window.URL.createObjectURL(stream)) || stream;
    localMediaStream = stream;

    video.play();
    setTimeout(scan,1000);
}

// Call the getUserMedia method with our callback functions
if (navigator.getUserMedia) {
    navigator.getUserMedia({video: true}, successCallback, videoError);
} else {
    console.log('Native web camera streaming (getUserMedia) not supported in this  browser.');
    // Display a friendly "sorry" message to the user
}

qrcode.callback = qrcodeSuccess;

}; // end of html5_qrcode
})( jQuery );

Пускам приложението си и то работи, но преди това камерата да се отвори, имам прозореца за разрешение за достъп, така че се чудя дали има някакво решение, което да ми позволи да отворя уеб камерата без запитване.


person user1444393    schedule 08.05.2014    source източник
comment
Не. Това не е възможно и се радвай, че е така   -  person DarkBee    schedule 08.05.2014
comment
За повече информация потърсете в Google „sandbox javascript“   -  person toesslab    schedule 08.05.2014


Отговори (1)


По очевидни причини не можете да включите уеб камерите на хора и да започнете да записвате без съгласие.

Локално можете да отворите за конкретни функции, без да питате с някои доставчици като Chrome, като зададете правила. Добавих малко връзки в коментарите

person Ronni Skansing    schedule 08.05.2014
comment
@user1444393 добре, добре =] За повечето части не е възможно, може да е възможно локално с конкретен доставчик. Вижте например support.google.com/chrome/a/answer /, настройка в chrome://policy, надявам се тогава да е това, което търсите. Съжалявам, ако съм бил груб - person Ronni Skansing; 08.05.2014
comment
Можете да намерите примерен файл тук dl.google.com/dl/edgedl /chrome/policy/policy_templates.zip позволява предварително задаване на разрешение за уеб камера. Трябва да редактирате //VideoCaptureAllowed: false и //VideoCaptureAllowedUrls: [example.com, http:// [*.]example.edu/] - person Ronni Skansing; 08.05.2014
comment
Споменах, че ще бъде My WebCam, а не poeple .. Освен това, какво ще кажете за разработчиците, които разработват приложение за сканиране на QR-кода, мислите ли, че ще е практично всеки път, когато започна мобилното приложение, питам потребителите за разрешение? - person user1444393; 08.05.2014
comment
@user1444393 има голяма разлика в това да правиш нещо в браузъра и да го правиш чрез собствено мобилно приложение, често родното приложение събира разрешения, докато се инсталира. Но както споменах, ако искате само да зададете разрешението локално, това може да се направи в Chrome =] - person Ronni Skansing; 08.05.2014
comment
благодаря ви за отговора, но можете ли да ми поясните в кой файл трябва да редактирам? - person user1444393; 08.05.2014
comment
@user1444393 съжалявам, зависи от вашата система. Това няма да е нещо, което можете да разпространявате на вашите потребители. Проверете файла и прочетете връзките. Или може би задайте нов въпрос, фокусиран само върху прилагането на правила за уеб камера в chrome на OSX или т.н. и какво сте опитали - person Ronni Skansing; 08.05.2014