Аудио системы записи в macOS с использованием электронов JS, не полагаясь на черную дыруJavascript

Форум по Javascript
Ответить
Anonymous
 Аудио системы записи в macOS с использованием электронов JS, не полагаясь на черную дыру

Сообщение Anonymous »

Я работаю над приложением с электронным JS, которое требует записи системы. Я на самом деле хочу системный звук микрофона+, как и экранный регистратор (мне просто нужно звук).
Я много исследовал и обнаружил, что в macOS есть ограничения, которые не позволяют захватывать системный звук. Мы должны использовать что -то вроде черной дыры.
Я не хочу, чтобы пользователи устанавливали Blackhole или аналогично использованию моего приложения в их системе.
Существует приложение https://www.granola.ai/, которое записывает систему системы без черного цвета, и да, они также используют электрон. Audio. < /p>
ipcMain.on('start-recording', () => {
// save in the current folder
const outputPath = path.join(app.getAppPath(), `meeting-${Date.now()}.mp3`);
console.log(`Recording to: ${outputPath}`);

// Check device indexes from ffmpeg -f avfoundation -list_devices true -i ""
ffmpegProcess = spawn('ffmpeg', [
'-f',
'avfoundation',
'-i',
'1:0', // 1:0 = mic + system audio, tweak as needed
'-acodec',
'libavdevice',
'-q:a',
'4',
outputPath,
]);

ffmpegProcess.stderr.on('data', (data: any) => {
console.log(`[ffmpeg] ${data}`);
});

ffmpegProcess.on('close', (code: any) => {
console.log(`ffmpeg exited with code ${code}`);
mainWindow?.webContents.send('recording-complete', outputPath);
});
});

ipcMain.on('stop-recording', () => {
console.log('stop-recording--2', ffmpegProcess);
if (ffmpegProcess) {
console.log('stop-recording');
ffmpegProcess.stdin.write('q'); // Graceful stop
ffmpegProcess.stdin.end();
ffmpegProcess = null;
}
});


Подробнее здесь: https://stackoverflow.com/questions/797 ... -blackhole
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»