Silverlight 4 - кодирующий данные PCM из микрофона

Я записал основное приложение SL4 для получения аудиоданных от использования микрофона CaptureSource. Проблема, это - необработанный вывод PCM - что означает огромный и несжатый.

Учитывая, что мне нужно это приложение для выполнения просто в среде SL4, как я могу сжать аудиоданные PCM во что-то, что может быть поставлено удаленному серверу более легко?

По существу мне нужно решение, которое я могу также развертывать/включать в приложении Серии 7 Windows Phone, а также том, которое будет работать в среде браузера - так решения для управляемого кода только, я думаю?

В разговоре люди предложили Speex и WMA, например, но я не нашел библиотек или примеров, которые работают, не требуя ссылки на DLL, который не будет работать в проекте SL4.

7
задан Todd Main 28 March 2011 в 21:23
поделиться

4 ответа

Пожалуйста, посмотрите класс WavFileHelper в Silverlight 4 Rough Notes: Camera and Microphone Support в блоге Майка Талти (чуть ниже середины страницы, но полная статья того стоит), в котором он сжимает PCM-файл в WAV.

Вот еще один пример того, что при записи в WAV вы можете изменять такие значения, как Mono/Stereo, что напрямую изменит размер WAV-файла: Audio recorder Silverlight 4 sample. И еще один, в котором более подробно рассказывается о записи в WAV: Creating Sound using MediaStreamSource in Silverlight 3 Beta

4
ответ дан 7 December 2019 в 05:20
поделиться

Эта статья http://alvas.net/alvas.audio,articles.aspx#how-to-save-audio-to-mp3-on-silverlight о сохранении аудио на клиенте. Например, для отправки аудиоданных на сервер вы можете использовать WebClient.

0
ответ дан 7 December 2019 в 05:20
поделиться

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

1
ответ дан 7 December 2019 в 05:20
поделиться

Вы можете выполнять кодирование через сервер, отправляя весь поток в службу WCF и выполняя кодирование через Microsoft Expression Encoding SDK API.

Пожалуйста, посмотрите этот URL, который я спрашивал раньше: http://forums.silverlight.net/forums/t/181141.aspx

С уважением

-2
ответ дан 7 December 2019 в 05:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: