Камера HTML5 не выключается после изменения маршрута в AngularJs
тестирую видео возможности HTML5. С директивойuserMedia
Яя могу включить мою камеру на моем MacBook черезnavigator.getUserMedia()
(на самом деле через адаптер, чтобы сделать его кросс-браузер - по крайней мере, тех, кто его поддерживает).
Но когда я меняю$route
Я нея больше не вижу себя (ура), но камера не выключается (зеленый свет остается включенным). Только обновление страницы сбрасывает все (что нормально).
Я надеялся, что наблюдая за изменениями в$location.path()
сделал бы трюк:
link: function(scope, elm, attrs, ctrl) {
...
var path = $location.path();
scope.$watch(function() {
return $location.path();
}, function(value) {
if (value && value !== path) {
$log.info('Location changed, switching off camera');
webRTCAdapter.detachMediaStream(elm[0]);
}
}, true);
}
detachMediaStream (Chrome):
webRTCAdapter.detachMediaStream = function(element) {
console.log("Detaching media stream");
element.pause();
element.src = '';
element.parentNode.removeChild(element);
};
Html:
detachMediaStream
выполняется (я вижу необходимые журналы вconsole.log
), но камера не выключается.
Есть идеи, как это решить? Должен ли я как-то разгрузить элемент?