2

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); 
} 

Antwort

Verwandte Themen