Сохранение потока с микрофона в mp3 или волну

Я записываю звук с микрофона на устройстве Windows Phone. Используя Xna.Framework.Audio.Microphone, я сохраняю звук в MemoryStream. Я могу сохранить его в формате PCM. Однако гораздо лучше будет преобразовать его в файл mp3. Если конвертация в мп3 невозможна, то может кто-то хотя бы знает, как конвертировать в wav.

Спасибо за ваши ответы.


person Michał Jankowski    schedule 14.12.2010    source источник
comment
У меня все тот же вопрос. Кодировщики Lame, Ogg и WMA не работают на WP7. :-(   -  person Nasenbaer    schedule 22.11.2011


Ответы (2)


Вот краткий пример, который я создал, показывающий, как сохранить звук, записанный wp7, в виде потока wav: format-streams/" rel="noreferrer">http://damianblog.com/2011/02/07/storing-wp7-recorded-audio-as-wav-format-streams/

person Damian    schedule 07.02.2011
comment
у вас есть идея создать wavstream в виде файла mp3 - person ggsmartboy; 02.02.2013

Вот отличная ветка с ответом на этот вопрос:
http://social.msdn.microsoft.com/Forums/en-US/windowsphone7series/thread/59af6c3b-0dd1-4fa0-8438-d7f82e655109

Это простой WAV-файл с отсутствующим заголовком. Поэтому Windows понятия не имеет о формате. К сожалению, текущий API ОС WP7 (насколько мне известно) не предлагает никаких услуг для создания файла WAV (заголовок RIFF + необработанные данные PCM). Заголовок RIFF не сложен и хорошо документирован. Достаточно просто написать управляемый код, чтобы создать его с использованием известного формата PCM, который, как вы уже знаете, является 16-битным/моно.

Или, наоборот, если вы пытаетесь сохранить/воспроизвести его только на устройстве wp7...

Вы должны уметь пользоваться;

 SoundEffect sePlay = new SoundEffect(yourSavedByte[], mic.SampleRate, AudioChannels.Mono);
 sePlay.Play();

для воспроизведения вашего аудиобайта []. Я записываю, сохраняю и воспроизводю, используя только byte[] на WP7. Вам не нужно ничего больше, чем необработанный byte[], если вы используете класс SoundEffect для воспроизведения.

person Joel Martinez    schedule 14.12.2010