2013-06-26 3 views
1

Я создаю приложение для видеочата, но у меня возникают проблемы с потоковым аудио микрофоном. У меня уже есть потоки видео, но я надеялся найти лучший способ захвата встроенного в микрофон ноутбука и его поток. На данный момент я использую NetworkStream для отправки видео. У меня ограниченный опыт работы с NAudio (http://naudio.codeplex.com/), но каждый пример захвата микрофона, похоже, не включает событие New Audio Frame (это мой метод отправки видеокадров).Аудиопоток с микрофона

Я смотрел http://voicerecorder.codeplex.com/, но, похоже, это больше, чем мне нужно и не покрывает потоковое вещание.

Как записывать звук микрофона и передавать его, если это возможно, без накладных расходов на сохранение звука в файл? Я бы оценил простой пример.

+0

Каков ваш конкретный вопрос? –

+0

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

ответ

3
  1. Создать новый WaveIn объект
  2. вызова StartRecording
  3. в обработчик события DataAvailable, передавать args.BytesRecorded байты из args.Buffer по сети.

Обратите внимание, что это означает, что вы передаете PCM, что не очень эффективно. Обычно для сетевой потоковой передачи вы должны использовать кодек. В исходном коде NAudioDemo есть демонстрация сетевого чата, показывающая это в действии.