Napisałem podstawową aplikację SL4 do przechwytywania danych dźwiękowych z mikrofonu przy użyciu CaptureSource
. Problem polega na tym, że jest to surowe wyjście PCM - co oznacza ogromne i nieskompresowane.Silverlight 4 - kodowanie danych PCM z mikrofonu
Biorąc pod uwagę, że potrzebuję tej aplikacji, aby działała wyłącznie w środowisku SL4, w jaki sposób mogę skompresować dane audio PCM do czegoś, co może być łatwiej dostarczane do zdalnego serwera?
Zasadniczo potrzebuję rozwiązania, które mogę wdrożyć/dołączyć do aplikacji Windows Phone Series 7, a także takiego, które będzie działało w środowisku przeglądarki - tak myślę, że tylko zarządzane rozwiązania kodu?
W rozmowie ludzie sugerowali na przykład Speex i WMA, ale nie znalazłem żadnych bibliotek ani przykładów, które działają bez potrzeby odwoływania się do bibliotek DLL, które nie będą działać w projekcie SL4.
Dzięki, to są wszystkie artykuły, które widziałem. Należy pamiętać o tym, że muszę "skompresować dane audio PCM do czegoś, co może być łatwiej dostarczane do zdalnego serwera". Konwersja PCM na WAV jest łatwa, ale kompresja danych wyjściowych nie jest. WAV jest niepożądany, ponieważ jest tak rozdęty, nawet jeśli kodujesz go jako mono. Blog Mike'a Taulty'a świetnie pokazuje, jak używać zlewozmywaków do przechwytywania PCM i konwersji na format WAV, ale domyślam się, że naprawdę potrzebujemy tutaj MediaStreamSource lub czegoś podobnego, co daje wynik Speex lub WMA. – Richard
@Otaku - Przyjąłem twoją odpowiedź; był to najbardziej wszechstronnie pozyskiwany. Jednak wciąż pozostaje jeszcze wiele do zrobienia i postaram się zaktualizować ten artykuł w pewnym momencie w przyszłości za pomocą mojej faktycznej odpowiedzi. Dzięki za wkład. – Richard
@Richard - dziękuję! Słyszałem o potrzebie czegoś znacznie bardziej kompaktowego niż WAV. Będę trzymał się tego przedsmaku, jak również wpadam na różne rzeczy i jeśli pojawi się coś lepszego, zaktualizuję odpowiedź. –