2016-11-26 1 views
2

Я использую директиву webcam для съемки фотографий. Я могу выключить камеру. Но я снова не могу. Любая помощь будет оценена по достоинству.Включение/выключение веб-камеры с использованием AngularJS

Вот мой текущий код, чтобы остановить камеру.

var mStream = null; 

$scope.onStream = function (stream) { 
    // You could do something manually with the stream. 
    mStream = stream; 
}; 
$scope.stopCamera = function() { 
    // mStream.stop(); didn't work. 
    mStream.getTracks()[0].stop(); 
}; 
$scope.startCamera = function() { 
    // mStream.play(); didn't work 
    // ToDo 
}; 

Спасибо

ответ

0

в webcam директиве мы имеем следующие события

$scope.$on('$destroy', onDestroy); 
$scope.$on('START_WEBCAM', startWebcam); 
$scope.$on('STOP_WEBCAM', stopWebcam); 

в контроллере вы можете использовать что-то вроде этого

$scope.destroyWebcam = function() { 
    $scope.$broadcast('$destroy'); 
    }; 

$scope.stopWebcam = function() { 
    $scope.$broadcast('STOP_WEBCAM'); 
}; 
+0

Спасибо много. Еще один вопрос. У пользователя две камеры. Как я могу перечислить доступные камеры и выбрать конкретную камеру? – SGG

+0

@SGG Я не уверен, но вы попробуете это http://stackoverflow.com/questions/18893787/how-can-i-get-a-list-of-video-cameras-attached-in-my-computer-using -javascript – nmanikiran

+0

Когда я использовал 'stop_webcam', поток видео исчез, но красный круг на вкладке все еще там, и светодиод моей веб-камеры все еще включен. Все равно, даже если я уже перешел на другую страницу на моем сайте. Любая идея, как его решить? – JkAlombro

Смежные вопросы