Получение аудиосигнала динамика и последующая его потоковая передача
-
12-09-2019 - |
Вопрос
Я пытаюсь создать то, что я считаю базовым приложением.Ну, два приложения: одно для Windows и одно для OS X.Я хотел бы захватить воспроизводимый аудиосигнал (т. е. если пользователь воспроизводит музыку через свои динамики).Затем возьмите этот сигнал и передайте его в потоковом режиме, чтобы другой компьютер мог «прослушивать».На другом компьютере будет Windows или OS X.
- Есть идеи, как получить аудиосигнал?
- Какой наиболее эффективный способ потоковой передачи звука без стороннего плагина?Если существует решение с открытым исходным кодом, мне было бы интересно.
Спасибо!
Крис
Решение
В Windows XP это совсем не тривиально, поскольку невозможно перехватить выходной сигнал без написания драйвера аудиофильтра (что не для слабонервных).
В Windows Vista и более поздних версиях вы можете захватить выходные данные аудиообработчика, используя API-интерфейсы WASAPI (встроенные в Windows, поэтому они бесплатны) и инициализируя аудиоклиент с флагом AUDCLNT_STREAMFLAGS_LOOPBACK.Это даст вам поток захвата, подключенный к выходу аудиодвижка.
Затем вы можете упаковать этот звук, отправить его на другой компьютер и обработать его с помощью любого API рендеринга звука, который вам нужен.
Хотя я не знаю, как сделать эквивалент на OSX :(.