2

У меня проблема с расширением хром. Расширение создает аудиоконтекст, который подключается к тегу <audio> на фоновом изображении, используя следующий код. На конце аудио onClick() вызывается функция kill.Chrome Extension webAudio API останавливает режимы энергосбережения Windows

При игре я вижу (ожидаемый) [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. при выполнении powercfg -requests на системе Windows. Однако при вызове функции kill я все еще вижу один и тот же драйвер в используемом сообщении, и машина не будет приостанавливать/спать/спящий режим.

При проверке фоновой страницы перечисленные переменные - все, что связано с аудио - все не определены. Единственное лекарство, которое я нашел до сих пор, - это перезагрузить фоновый рисунок - суперхакку, и я презираю все, что она стоит.

Любой, у кого есть похожие впечатления или знания о внутреннем демонах hrome webaudio API?

Точка зрения: Переменные глобальны в контексте демонстрационного кода. В живом коде это локальная область.

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

ответ