g00001
2021-06-22 10:27:45 +08:00
仅仅是模拟按键可能不行,这个还要读取音量进行比对,
能直接控制计划任务会更好。用 aardio 简单实现了一下:
import win.ui;
/*DSG{{*/
var winform = win.form(text="定时自动降低音量";)
winform.add(
edit={cls="edit";left=29;top=69;right=728;bottom=430;db=1;dl=1;dr=1;dt=1;edge=1;multiline=1;z=2};
trackbar={cls="trackbar";left=22;top=20;right=722;bottom=50;dl=1;dr=1;dt=1;max=100;min=0;z=1}
)
/*}}*/
import sys.audioVolume;
var volumeCtrl = sys.audioVolume();
winform.trackbar.setRange(0,100);
winform.trackbar.pos = volumeCtrl.volume;
import win.taskScheduler
var taskScheduler = win.taskScheduler(winform);
var task;
task = taskScheduler.create("自动降低音量开始",function( arguments ){
if(volumeCtrl.volume<=10) return; //小于最低音量时取消任务
task.enabled = false;
winform.setInterval(
function(){
volumeCtrl.volume = volumeCtrl.volume - 5;
//小于最低音量时停止任务
if(volumeCtrl.volume<=10){
volumeCtrl.volume = 10;
task.enabled = true;
return 0;
}
},1000
)
})
//每天 10 点 11 分开始执行任务
task.time = {minute = 18 ; hour = 10 ;}
//启动计划任务
taskScheduler.start();
//用于同步显示系统音量
winform.setInterval(
function(){winform.trackbar.pos = !volumeCtrl.mute ? volumeCtrl.volume : 0;},2000
)
winform.show(true)
win.loopMessage();