Ich habe ein Problem mit einer Chrome-Erweiterung. Die Erweiterung erstellt einen audioContext, der mithilfe des folgenden Codes eine Verbindung zu einem <audio>
-Tag auf einer Hintergrundseite herstellt. Am Audioende onClick()
wird die Kill-Funktion aufgerufen.Chrome Extension webAudio API stoppt Windows Energiesparmodi
Beim Abspielen sehe ich (erwartet) [DRIVER] High Definition Audio Device (HDAUDIO\FUNC_01&VEN_111D&DEV_76D5&SUBSYS_1028040A&REV_1001\4&143c5ca7&0&0001) An audio stream is currently in use.
bei der Durchführung powercfg -requests
auf einem Windows-System. Wenn ich jedoch die Kill-Funktion anrufe, sehe ich immer noch den gleichen Treiber in Verwendung Nachricht und das Gerät wird nicht suspend/Schlaf/Ruhezustand.
Beim Überprüfen der Hintergrundseite sind die aufgelisteten Variablen - alle, die sich auf Audio beziehen - alle nicht definiert. Das einzige Heilmittel, das ich bisher gefunden habe, ist, die Hintergrundseite neu zu laden - ein Superhack und ich verachte alles, wofür es steht.
Jeder mit ähnlichen Erfahrungen oder ein Wissen über die Chrome Webaudio API inneren Dämonen?
Hinweis: Die Variablen sind im Kontext des Demo-Codes global. Im Live-Code sind dies lokale Bereiche.
Prost, Phil.
function kill_audio_context(){
capAudio.remove();
capAudio = undefined;
try{
analyser.disconnect();
source.disconnect();
audioContext = undefined;
source=undefined;
analyser=undefined;
}catch(e){console.log(e)}
// No errors, except expected when no audio element exists (first load)
// KILL IT WITH FIRE!!
//chrome.runtime.reload();
}
function load_audio_context(){
audioContext = new AudioContext();
analyser = audioContext.createAnalyser();
analyser.fftSize = 2048;
source = audioContext.createMediaElementSource(capAudio);
source.connect(analyser);
analyser.connect(audioContext.destination);
}
Es ist so einfach .... – TechnicalChaos