Die HTML5-Kamera schaltet sich nach einer Routenänderung in AngularJs nicht aus

Ich teste die Videofunktionen von HTML5. Mit einer DirektiveuserMediaIch kann meine Kamera auf meinem MacBook über einschaltennavigator.getUserMedia() (eigentlich über einen Adapter, um es browserübergreifend zu machen - zumindest diejenigen, die es unterstützen).

Aber wenn ich meine ändere$routeIch sehe mich nicht mehr (Hurra), aber die Kamera schaltet sich nicht aus (das grüne Licht bleibt an). Nur das Aktualisieren der Seite setzt alles zurück (was normal ist).

Ich hatte gehofft, dass sich das ändern würde$location.path() würde den Trick machen:

        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 ausgeführt wird (ich sehe die notwendigen logs inconsole.log), aber die Kamera schaltet sich nicht aus.

Irgendeine Idee, wie man das löst? Soll ich das Element irgendwie entladen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage