gpt4 book ai didi

javascript - Chrome Extension webAudio API 停止 Windows 省电模式

转载 作者:行者123 更新时间:2023-11-30 00:11:45 26 4
gpt4 key购买 nike

我有一个 chrome 扩展的问题。该扩展创建了一个连接到 <audio> 的 audioContext使用以下代码在背景页面上标记。在音频端onClick() kill函数被调用。

播放时我看到(预期)[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 函数时,我仍然看到相同的驱动程序正在使用消息,并且机器不会挂起/ sleep /hibernate 。

检查后台页面时,列出的变量——所有与音频相关的——都是未定义的。到目前为止,我发现的唯一解决方法是重新加载背景页面——一个 super 黑客,我鄙视它所代表的一切。

有没有人有类似的经历或了解 chrome webaudio API 的内心恶魔?

注意事项:在演示代码的上下文中,变量是全局的。在实时代码中,这些是本地范围。

干杯,菲尔。

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

最佳答案

调用audioContext.close()当你想释放 AudioContext 时。

关于javascript - Chrome Extension webAudio API 停止 Windows 省电模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36189691/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com