36 lines
880 B
JavaScript
36 lines
880 B
JavaScript
const nodeAudio = require('bindings')('nodeaudio.node');
|
|
|
|
let inputDevice;
|
|
let outputDevice;
|
|
|
|
const setStreams = () => {
|
|
|
|
const defaultInput = nodeAudio.GetDefaultInputDevice();
|
|
const defaultOutput = nodeAudio.GetDefaultOutputDevice();
|
|
console.log(`Input: ${defaultInput}, Output: ${defaultOutput}`);
|
|
|
|
if (inputDevice !== defaultInput) {
|
|
inputDevice = defaultInput;
|
|
nodeAudio.CloseInputStream(inputDevice);
|
|
nodeAudio.OpenInputStream(inputDevice);
|
|
}
|
|
|
|
if (outputDevice !== defaultOutput) {
|
|
outputDevice = defaultOutput;
|
|
nodeAudio.CloseOutputStream(outputDevice);
|
|
nodeAudio.OpenOutputStream(outputDevice);
|
|
}
|
|
}
|
|
|
|
function x() {
|
|
console.log("emitting");
|
|
}
|
|
|
|
nodeAudio.Initialize(x);
|
|
|
|
const id = setInterval(setStreams, 3000);
|
|
|
|
setTimeout(() => {
|
|
clearInterval(id);
|
|
nodeAudio.Terminate();
|
|
}, 11000);
|