Добрый день. Есть задача в приложении которое транслирует поток с getUserMedia, сделать кнопку, которая будет останавливать поток и делать камеру доступной в других приложениях. В объекте myStream, который возвращает функция в случае успеха я нашел метод stop(), но он не работает. Подскажите пожалуйста решение.
angular.module("App", [])
.controller("defaultCtrl", function ($scope, $timeout) {
navigator.getUserMedia = function (constraints, cb, errcb) {
navigator.mediaDevices.getUserMedia(constraints)
.then(cb, errcb);
}.bind(navigator);
navigator.getUserMedia({
video: true,
audio: true
}, angular.bind(this, function (myStream) {
const stream = document.querySelector('#localVideo');
$scope.streamVideo = myStream.getTracks()[0]
stream.srcObject = myStream;
}), angular.bind(this, function (error) {
console.error(error);
}));
})
.directive('ngStop', function(){
return function(scope, element, attrs){
const stream = document.querySelector('#localVideo');
const button = document.getElementById('btn')
button.addEventListener('click', function(){
scope.streamVideo.stop();
})
}
})