系统提示音 NodeJS 自定义频率和持续时间
System beep NodeJS custom frequency and duration
我正在尝试使用 NodeJS 使自定义主板发出蜂鸣声。
现在我正在使用 process.stderr.write("[=10=]7");
,它会在我的主板上发出默认系统蜂鸣声 (Windows 7 64)。
但是一些编程语言有类似的东西:
SoundBeep, Frequency, Duration
(AutoHotKey:https://www.autohotkey.com/docs/commands/SoundBeep.htm)
而且显然在 C++ 中也是可能的:
Beep(hertz, milli)
(How to make Motherboard Beep through C++ Code?)
是否可以在 NodeJS 中设置自定义系统蜂鸣声频率和持续时间?
我认为 windows
通过 rundll32 工具和 beep
更容易做到
const cp = require('child_process');
function beep(frequency, duration) {
cp.execSync(`rundll32.exe Kernel32.dll,Beep ${frequency},${duration}`);
}
beep(750,300);
我最终为此和 C++ Beep(frequency, duration)
函数使用了 C++ 插件。
我从这个存储库中获取了示例:https://github.com/nodejs/node-addon-examples(第二个示例,nan),
修改它以传递我的参数(频率和持续时间),然后使用该存储库中的说明编译 addon.cc
文件。
所以在 nodeJS 中我可以将其传递给插件:
addon.add(frequency,duration);
在 C++ 中
double arg0 = info[0]->NumberValue(context).FromJust();
double arg1 = info[1]->NumberValue(context).FromJust();
Beep(arg0,arg1);
你也可以
powershell.exe [console]::beep(500,600)
所以在 node.js 中它看起来像这样
require("child_process").exec("powershell.exe [console]::beep(500,600)");
我正在尝试使用 NodeJS 使自定义主板发出蜂鸣声。
现在我正在使用 process.stderr.write("[=10=]7");
,它会在我的主板上发出默认系统蜂鸣声 (Windows 7 64)。
但是一些编程语言有类似的东西:
SoundBeep, Frequency, Duration
(AutoHotKey:https://www.autohotkey.com/docs/commands/SoundBeep.htm)
而且显然在 C++ 中也是可能的:
Beep(hertz, milli)
(How to make Motherboard Beep through C++ Code?)
是否可以在 NodeJS 中设置自定义系统蜂鸣声频率和持续时间?
我认为 windows
通过 rundll32 工具和 beep
const cp = require('child_process');
function beep(frequency, duration) {
cp.execSync(`rundll32.exe Kernel32.dll,Beep ${frequency},${duration}`);
}
beep(750,300);
我最终为此和 C++ Beep(frequency, duration)
函数使用了 C++ 插件。
我从这个存储库中获取了示例:https://github.com/nodejs/node-addon-examples(第二个示例,nan),
修改它以传递我的参数(频率和持续时间),然后使用该存储库中的说明编译 addon.cc
文件。
所以在 nodeJS 中我可以将其传递给插件:
addon.add(frequency,duration);
在 C++ 中
double arg0 = info[0]->NumberValue(context).FromJust();
double arg1 = info[1]->NumberValue(context).FromJust();
Beep(arg0,arg1);
你也可以
powershell.exe [console]::beep(500,600)
所以在 node.js 中它看起来像这样
require("child_process").exec("powershell.exe [console]::beep(500,600)");