This repository has been archived on 2025-03-16. You can view files and clone it, but cannot push or open issues or pull requests.
project-client/src/main/screenShareAudio.ts

40 lines
No EOL
1.2 KiB
TypeScript

import { createVirtmic } from "./createVirtmic";
export function getAudioFromVirtmic() {
const getAudioDevice = async (deviceName: string|undefined) => {
await new Promise(r => setTimeout(r, 1000));
let devices = await navigator.mediaDevices.enumerateDevices();
let audioDevice = devices.find(({
label
}) => label === deviceName);
return audioDevice;
};
const getDisplayMedia = async () => {
var id: string|undefined;
try {
let myDiscordAudioSink = await getAudioDevice('virtmic');
id = myDiscordAudioSink?.deviceId;
}
catch (error) {
id = 'default';
}
const constraints = {
deviceId: {
exact: id
},
autoGainControl: false,
echoCancellation: false,
noiseSuppression: false,
channelCount: 2
};
await navigator.mediaDevices.getUserMedia({
audio: true
}).then((MediaStream) => {
const audioTrack = MediaStream.getAudioTracks()[0];
let captureSystemAudioStream = audioTrack.applyConstraints(constraints);
});
};
};