Подтвердить что ты не робот

Захват звука в С#

Я пытаюсь создать программу на С#, которая позволит мне передавать аудио и видео с одного компьютера по сети на другой компьютер, который подключается к кучу видео/аудио оборудования (проектор, динамики, и т.д). В идеале я хотел бы иметь возможность фиксировать эти данные непосредственно с компьютера-презентатора без необходимости подключаться к чему-либо.

Видео, потоковая передача и повторное отображение на "выходном" компьютере работают хорошо, но я не могу найти хороший способ захвата аудиовыхода без необходимости подключения кабеля к разъему для наушников и подключен к другому компьютеру. Весь смысл этой программы заключается в том, чтобы это можно было сделать беспроводным образом, так что это своего рода проблема. Подводя итог, я ищу какой-то С# -интерфейс, который позволит мне захватить вывод звука на машину Windows, как будто я подключил что-то к разъему для наушников.

Заранее благодарим за помощь.

4b9b3361

Ответ 1

В Windows производители звуковых карт могут выбрать источник входного потока "что вы слышите", чтобы вы могли записать результат. Если ваша звуковая карта/драйвер не имеет этой функции, вы можете попытаться использовать Virtual Audio Cable для выполнения того же самого.

В Windows 7 появилась новая функциональность, которая позволяет вам напрямую слушать/записывать любой входной поток.

Ответ 2

Если у вас уже есть сторона видеоролика; NAudio - хороший способ обработки аудиокомпонентов.

Предполагая, что мы разбиваем задачу на запись, а затем на принимающие и воспроизводящие компоненты, то следующее должно помочь вам с каждой стороны;

Запись: http://opensebj.blogspot.com/2009/04/naudio-tutorial-5-recording-audio.html

Получение и воспроизведение: Воспроизвести аудио из потока с помощью С#

Метод транспорта между вами зависит от вас, но если у вас уже есть способ отправки потока между двумя компьютерами, вы должны его повторно использовать. Просто убедитесь, что ваш буфер достаточно велик, что всегда есть данные для воспроизведения на принимающем компьютере.

Ответ 3

Посмотрите на код в этой статье, его нужно немного модифицировать, чтобы иметь возможность передавать данные по сети, но это не должно быть достаточно сложно. http://www.csharpfriends.com/Forums/ShowPost.aspx?PostID=19102