2010-12-14 19 views
5

Nagrywanie dźwięku z mikrofonu w urządzeniu z systemem Windows Phone. Korzystając z Xna.Framework.Audio.Microphone przechowuję dźwięk w MemoryStream. Mogę zapisać go do formatu PCM. Jednak znacznie lepiej będzie przekonwertować go na plik mp3. Jeśli konwersja na mp3 jest niemożliwa, to może ktoś przynajmniej wie, jak przekonwertować go na WAV.Zapisywanie mikrofonu w strumieniu mp3 lub wave

Dzięki za odpowiedzi.

+0

nadal mam to samo pytanie. Enkodery Lame, Ogg i WMA nie działają na WP7. :-( – Nasenbaer

Odpowiedz

0

Oto świetny wątek, który odpowiada na to pytanie:
http://social.msdn.microsoft.com/Forums/en-US/windowsphone7series/thread/59af6c3b-0dd1-4fa0-8438-d7f82e655109

Jest to prosty plik WAV z jego nagłówek brakuje. Dlatego Windows ma nie ma pojęcia o tym formacie. Niestety, obecny interfejs API OS7 (o ile mi wiadomo) nie oferuje usługi w celu utworzenia pliku WAV (nagłówek RIFF + surowe dane PCM). Nagłówek RIFF nie jest skomplikowany i dobrze udokumentowany . Jest całkiem proste, aby napisać zarządzany kod, aby utworzyć kod przy użyciu znanego formatu PCM, który, jak już wiesz, to 16bit/mono.

Lub alternatywnie, jeśli tylko stara się zapisać/odtworzyć go na urządzeniu WP7 ...

Powinieneś być w stanie wykorzystać;

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

do odtworzenia bajtu audio []. I nagrywanie, zapisywanie i odtwarzanie przy użyciu tylko bajtu [] na WP7. Nie powinieneś potrzebować niczego więcej niż surowy bajt [], jeśli używasz klasy SoundEffect do odtwarzania .