2009-08-18 8 views
12

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

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

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

+0

Можете ли вы указать мне хорошую ссылку на потоковое видео? Мне интересно, как вы делали потоковое видео и «захват». –

+1

Я использовал API скринсейвера C# (http://www.developerfusion.com/code/4630/capture-a-screen-shot/) и сжал изображения в PNG, а затем просто отправил необработанные данные по сети. На другом конце они реконструируются и рисуются в полноэкранном изображении. Похоже, что это будет довольно медленно, но мы используем сеть, предназначенную исключительно для этой цели, и компьютеры с обоих концов довольно жёсткие. –

+0

Это правильная ссылка, извините: http://www.geekpedia.com/tutorial181_Capturing-screenshots-using-Csharp.html –

ответ

4

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

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

+3

Можете ли вы предоставить некоторые сведения о функциях Windows 7. –

+0

@ Keivan, я, вероятно, думал о WASAPI, более конкретно [Loopback Recording] (http://msdn.microsoft.com/en-us/library/dd316551%28v=vs.85%29.aspx), [Образец в C++] (http://msdn.microsoft.com/en-us/library/windows/desktop/dd370800 (v = vs.85) .aspx). В C# я думаю, что это [NAudio] (http://naudio.codeplex.com/). –

3

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

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

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

Принимающий и игры: Play audio from a stream using C#

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

Смежные вопросы