2010-12-14 3 views
5

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

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

+0

я до сих пор один и тот же вопрос. Кодеры Lame, Ogg и WMA не работают на WP7. :-( – Nasenbaer

ответ

0

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

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

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

Вы должны быть в состоянии использовать;

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

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