Захватить все аудио на ПК и передать его на другой? - PullRequest
2 голосов
/ 05 марта 2010

Представьте себе такой сценарий: у вас есть рабочий стол и ноутбук. На рабочем столе есть набор динамиков высокого класса, а у ноутбука - нет. В настоящее время вы используете Synergy для обмена мышью и клавиатурой, но проблема со звуком.

Есть ли способ в C # создать клиент, который захватывает весь звук на ПК (я думаю, как виртуальная звуковая карта) и передает его на сервер, на котором установлена ​​настоящая звуковая карта?

Ответы [ 5 ]

1 голос
/ 05 марта 2010

Не решение для программирования - но аэродинамический профиль с аэродинамическими динамиками будет делать то, что вы хотите, и это недорого.

0 голосов
/ 05 марта 2010

Да, вы пишете драйвер, который представляет собой виртуальную звуковую карту, и IPC отключает эту информацию для службы, которая передает данные.

0 голосов
/ 05 марта 2010

Я не уверен, что это решение, которое вы ищете, но я довольно часто транслирую по своей домашней сети, используя winamp и сервер shoutcast. Если это просто музыка, которую вы хотите слушать, это поможет. Однако (и я признаю, что я не проверял это), вы можете указать кодировщику, что слушать - обычно вы просто получаете его для прослушивания выходного буфера winamp, но есть настройка, которая позволяет ему прослушивать вывод ваша звуковая карта.

http://www.shoutcast.com/download

0 голосов
/ 05 марта 2010

Существует AirFoil, как уже упоминалось Morechilli. Он работает с минимальной настройкой, однако вывод очень заметно скрыт.

Проект PulseAudio может содержать ключ к низкой задержке. Множество соответствующих вопросов на SuperUser.

0 голосов
/ 05 марта 2010

Потоковое звучание не должно быть проблемой, если вы создаете что-то вроде кольцевого буфера, если у вас есть задержки в сети, чтобы избежать прерывания звуковой волны.

Для захвата я не вижу простого решения, кроме создания виртуального драйвера WDM, который вы помещаете поверх звуковой карты (либо входной, либо выходной), которую вы хотите захватить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...