Kamera HTML5 nie wyłącza się po zmianie trasy w AngularJs

Testuję możliwości wideo HTML5. Z dyrektywąuserMedia, Mogę włączyć aparat na moim MacBooku przeznavigator.getUserMedia() (w rzeczywistości za pośrednictwem adaptera, aby sprawić, by był on przeglądarką - przynajmniej dla tych, którzy go obsługują).

Ale kiedy zmieniam moje$route, Już nie widzę siebie (hurra), ale aparat się nie wyłącza (zielone światło pozostaje włączone). Tylko odświeżenie strony powoduje zresetowanie wszystkiego (co jest normalne).

Miałem nadzieję, że obserwuję zmianę$location.path() zrobiłby to:

        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:

<video id="localVideo" width="100%" autoplay="autoplay" user-media="user-media"></video>

detachMediaStream zostaje wykonany (widzę niezbędne dzienniki)console.log), ale aparat się nie wyłącza.

Masz jakiś pomysł, jak to rozwiązać? Czy powinienem jakoś rozładować element?

questionAnswers(2)

yourAnswerToTheQuestion