Warum löst getUserMedia ein [object NavigatorUserMediaError] aus, wenn ich in Chrome auf "Zulassen" klicke?

Vor kurzem bekam ich Fehler, als ich versuchte, über meine Website auf das Mikrofon des Kunden zuzugreifen. Wenn Chrome fragt, ob die Site auf das Mikrofon des Nutzers zugreifen darf,[object NavigatorUserMediaError] wird unabhängig davon erzeugt, ob sie auf "Zulassen" oder "Verweigern" klicken. Dies geschah unabhängig davon, ob tatsächlich ein Mikrofon an den Computer angeschlossen ist (auf dem Ubuntu 12.04 ausgeführt wird).

Weitere Tests mit Firefox haben ergeben, dass dies nicht spezifisch für Chrome ist. Das Problem begann erst, nachdem ich eine Live-Input-Demo durchgeführt und mich dann vom Computer abgemeldet hatte. Ich habe versucht, eine Demo für den Zugriff auf das Mikrofon zu erstellen, und dabei ist das gleiche Problem aufgetreten.

var getVideo = false, getAudio = true;

navigator.getUserMedia || (navigator.getUserMedia = navigator.mozGetUserMedia ||
        navigator.webkitGetUserMedia || navigator.msGetUserMedia);

function init() {
    if(navigator.getUserMedia) {
        navigator.getUserMedia({video:getVideo, audio:getAudio}, onSuccess, onError);
    } else {
        alert('getUserMedia failed.');
    }
}

function onSuccess() {
    console.log("Yay");
}

function onError(err) {
    console.log("Noo " + err);
}

Dies ist ziemlich rätselhaft, da es bis zu dem Zeitpunkt, an dem ich mich abgemeldet und dann wieder angemeldet und versucht habe, es erneut zu testen, einwandfrei funktioniert hat.

Ich hoste den Webcode lokal über Jetty und Eclipse. Ich greife durch Tippen darauf zulocalhost:8080/my-program in den Webbrowser.

Bearbeiten: Nachdem der Fehler aufgetreten ist, wird in der Adressleiste von Chrome das Symbol einer Kamera angezeigt, das besagt, dass Chrome auf mein Mikrofon zugreift und zwei mögliche Mikrofone auflistet: "Standard" und "Integriertes analoges Audio-Stereo".

Bearbeiten 2: Dieser Fehler tritt auch auf anderen Websites auf, die versuchen, über webrtc auf mein Mikrofon zuzugreifen. Die traditionelle Flash-Implementierung funktioniert immer noch.

Chrome scheint beim Öffnen in regelmäßigen Abständen eine Fehlermeldung auszugeben.

[361:362:0725/095320:ERROR:audio_output_device.cc(186)] 
Not implemented reached in virtual void
media::AudioOutputDevice::OnStateChanged(media::AudioOutputIPCDelegate::State)

Edit 3: Ich konnte die Fehlermeldung etwas genauer klären

NavigatorUserMediaError {code: 1, PERMISSION_DENIED: 1}

Antworten auf die Frage(4)

Ihre Antwort auf die Frage