Кодирование звука (в AAC) в Silverlight 4 (на клиенте)? - PullRequest
3 голосов
/ 12 февраля 2010

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

AudioCaptureDevice будет записывать аудио PCM на клиенте, и, как мы все знаем, PCM - не самое эффективное кодирование ... данные будут слишком большими для загрузки без сжатия.

В идеале я мог бы закодировать этот поток PCM в AAC прямо на клиенте, а затем загрузить этот сжатый поток на сервер.

Что-то вроде этой библиотеки , может быть полезно. Однако он не поддерживает AAC.

(Я выбираю AAC, потому что (в отличие от MP3) кодирование бесплатно и поддерживается популярными устройствами PMP.

Есть какие-нибудь мысли о том, как лучше всего это сделать? Все варианты на столе: полное доверие, Google Gears и т.д ...

Спасибо за любую помощь!

Ответы [ 4 ]

4 голосов
/ 12 февраля 2010

Там есть аудиокодек под названием Speex, и Алден Торрес перенес алгоритм SPEEX на C #. Итак, у вас есть полностью управляемый аудио кодер. Вот соответствующий пост в блоге , где он показывает, как кодировать звук с микрофона с помощью SPEEX. Читайте также комментарии.

1 голос
/ 03 декабря 2010

Вы должны знать, что кодирование AAC также ограничено патентом.Проверьте статью Wikipeadia об этом.Если вам нужен бесплатный формат, вам следует обратиться к Vorbis или FLAC (или Speex).

Если вы используете Windows 7 или Server 2008 R2, вы можете использовать SDK для кодирования AAC(http://msdn.microsoft.com/en-us/library/dd742785(v=VS.85).aspx).

Кроме того, поскольку вы все равно заставляете клиента выполнять кучу работы, почему бы просто не сжать его перед загрузкой - я не человек Silverlight, так что, возможно, это невозможно?

1 голос
/ 09 ноября 2010

Как ответ, упомянутый выше, Speex - это голосовой кодек, который не очень подходит, если вы хотите использовать его для музыки. Однако, если вы по-прежнему заинтересованы в Speex для Silverlight, вам следует взглянуть на NSpeex , который является портом более ранней версии Speex для C # и предлагает библиотеку Silverlight.

0 голосов
/ 19 апреля 2010

Мне нужно записать музыку в Silverlight (например, из линейного входа) и сохранить ее на сервере. Он должен быть хорошего качества (не как SPEEX). Я постараюсь использовать хромый кодер на клиенте. Ему нужен файл lame_enc.dll, к которому может получить доступ p-invoke. Я проверю, если это возможно от серебряного света. Знаете ли вы какие-нибудь альтернативы? Может быть, хороший потоковый сервер (это возможно с wowza)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...