Воспроизведение потоковых аудиоданных (C #) - PullRequest
1 голос
/ 18 июля 2011

Я пытаюсь разработать приложение для Windows с использованием C #, которое может воспроизводить потоковые аудиоданные.По сути, у меня будет клиентское приложение, которое отвечает за воспроизведение разных аудиофайлов.В настоящее время из клиентского приложения я извлекаю параметр конфигурации оборудования из заголовка файла, а затем передаю данные файла (поток PCM) по сети.

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

Во время поиска я узнал о NAudio.Способен ли NAudio делать такие вещи, или лучшим вариантом для меня было бы переключиться на нативный код C / C ++ с помощью Directsound APIS.

update: Под настройкой аппаратного обеспечения я имею в виду установку параметрасвязанные с воспроизведением аудио.Эти параметры могут включать sample rate (например, 44100 Гц), number of channels (например, стерео), storage format (например, 16-разрядный байтовый код) и т. Д.

Мое клиентское приложение работает на Linux, и яустановил драйвер ALSA, который перехватывает поток PCM и конфигурацию hw_params, а затем отправляет их на сервер.

обновление заканчивается

Спасибо.

1 Ответ

2 голосов
/ 18 июля 2011

Если вы посмотрите на последний код NAudio , вы увидите, что в примере приложения NAudioDemo есть два примера воспроизведения потокового аудио.Одним из них является рудиментарное приложение чата, которое отправляет сжатый голос по протоколу UDP, другое воспроизводит потоковое интернет-радио в формате MP3.Я бы посоветовал вам взглянуть на это и попробовать пример приложения, чтобы увидеть, соответствует ли оно вашим потребностям.

...