Отправить звук или потоковый звук через LAN - PullRequest
3 голосов
/ 14 июня 2009

Мне было интересно, есть ли способ передавать звук по локальной сети. Можно ли подключить клиентское приложение к серверному приложению, а затем получить от него поток звука. Я уверен, что это можно сделать, просто не знаю, с чего начать. Какие-либо предложения? Я хотел сделать это с помощью c #.

Я не прошу никого писать для меня, только некоторые из идей или приемов, которые вы можете знать, просто ссылки или предложения, которые вы можете иметь.

Ответы [ 5 ]

3 голосов
/ 14 июня 2009

Другим вариантом может быть ваш собственный сервер Shoutcast и воспроизведение этого аудио на клиенте после захвата его с помощью ShoutcastStream Class

1 голос
/ 02 января 2010

Хотя не C #, это будет вариант? Netcat, mpg123 и rawplay создают решение. Автор этой статьи передает аудио с одной машины на другую.

$(audioclient1):~$ nc -l -p 2345 | rawplay
$(audioserver):~$ mpg123 -s *.mp3 | nc (audioclient1) 2345 

Далее в статье он показывает, как использовать именованные каналы, передавая аудио на 6 машин в своей локальной сети.

«Использование и злоупотребление каналами с аудиоданными» http://www.debian -administration.org / статьи / 145

1 голос
/ 14 июня 2009

Я полагаю, вы можете использовать Windows Media Player на клиенте.

Мы используем winmm.dll для воспроизведения музыки в одном из наших приложений. А так как медиаплеер поддерживает потоковую передачу, вы, вероятно, сможете решить свою проблему с небольшим переворотом.

0 голосов
/ 15 июня 2009

Это не решение c #, но может помочь принять решение о том, что использовать. http://pulseaudio.org/ сейчас используется в нескольких дистрибутивах Linux, и вы также можете установить его на Windows.

С http://pulseaudio.org/wiki/WikiStart#Whatisit

PulseAudio - это звуковой сервер для систем POSIX и Win32. Звуковой сервер - это в основном прокси для ваших звуковых приложений. Это позволяет вам выполнять расширенные операции с вашими звуковыми данными, когда они проходят между вашим приложением и вашим оборудованием. Такие вещи, как передача звука на другую машину, изменение формата семпла или количества каналов и смешивание нескольких звуков в один, легко достигаются с помощью звукового сервера.

PulseAudio был протестирован на Linux, Solaris, FreeBSD, NetBSD, Windows 2000 и Windows XP. Он также должен работать на всех других системах POSIX и Windows, но может потребоваться новый сервер для обработки своих звуковых систем.

Может быть хорошим вариантом в зависимости от вашего сценария ...

0 голосов
/ 14 июня 2009

Возможно, вы захотите внедрить RTSP , стандартный протокол потоковой передачи в реальном времени. Согласно MSDN , Silverlight поддерживает его (и несколько форматов Windows Media Audio). Однако наиболее известными библиотеками с открытым исходным кодом для RTSP являются C ++ - может быть, вы можете вызвать их из своего кода C #?

...