nodeaudio/test/deviceSwitch.js

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