2013-01-11 25 views
5

Chcę odtwarzać strumień wowza .mp3 na Androidzie przy użyciu domyślnej biblioteki MediaPlayer. Ale próbowałem odtwarzać strumień, korzystając z demonstracji API dostarczonych przez samego Androida i to nie działa. Chociaż dokumentacja Androida stwierdza, że ​​tak.Wowza .mp3 Strumień RTSP na Androida

http://developer.android.com/guide/appendix/media-formats.html

sprawdziłem dokumentację Wowzy i stwierdziliśmy, że strumienie RTSP .mp3 nie mogą być odtwarzane na dowolnym urządzeniu z systemem Android. http://www.wowza.com/forums/content.php?62

Jestem zdezorientowany, co jest prawdziwym problemem, ponieważ jedna dokumentacja stwierdza, że ​​tak jest, a inne stwierdzi, że tak nie jest? Czy ktoś może mi powiedzieć?

+1

Źle interpretujesz dokumentację Androida - aby zacytować * W przypadku treści wideo przesyłanych strumieniowo przez HTTP lub RTSP * o to chodzi, żadnych innych środków! Ponadto * Następujące protokoły sieciowe są obsługiwane w przypadku odtwarzania audio i wideo: * nie oznacza to przesyłania strumieniowego z użyciem RTSP dla plików MP3. Dokumentacja na wowza jest poprawna! Wygląda na to, że dokumentacja Androida nie została zaktualizowana, aby to wyjaśnić. Nie da się! – t0mm13b

+0

@ t0mm13b hmm dzięki. Tak więc podstawą jest to, że nie możemy odtwarzać .mp3 przez rtsp, ale możemy odtwarzać .mp4 (wideo) przez rtsp, jeśli kodowanie jest zgodne z wymogami kodowania wideo dostarczonymi przez Androida? tj. normalny MP4 nie będzie odtwarzany przez rtsp, dopóki nie zostanie zakodowany zgodnie z wymaganiami. –

+0

Tak, zgadza się. – t0mm13b

Odpowiedz

3

Należy użyć strumieniowe HTTP dla plików MP3, to jest obsługiwane przez Wowza, odniesienia: http://broadcastengineering.com/products/wowza-expands-media-server-2-http-streaming-ability

Można również znaleźć specyfikacje MP4 dla Androida, a nawet te, które są obsługiwane przez wiele platform i używać tych. W zależności od przepustowości połączenia, 480p lub 720p z dźwiękiem AAC powinno działać w dowolnym miejscu.

+0

Dzięki za doskonałą odpowiedź. Mam problem z odtwarzaniem dźwięku mp3 w mojej aplikacji na Androida. Teraz Wowza może zamienić ten rtsp na http parowanie, jeśli mam to dobrze. Co mam zrobić w mojej aplikacji, aby odtwarzać dźwięk za pomocą natywnego odtwarzacza multimedialnego z systemem Android? Po prostu przełącz protokół z rtsp: // ... mój adres URL ... na http: // ... mój adres URL ... Próbowałem i to nie działa .. (zachowuje buforowanie 4) –

+0

ty będzie musiał odpowiednio skonfigurować parametry wowza, niestety nie zrobiłem tego ostatnio i nie byłbym w stanie podać szczegółów w tej chwili. – tazzix

+0

Jedyny model dostarczany przez Wowza dla Androida to rtsp, żadna z usług http nie działa –

0

Ten sam problem wystąpił podczas opracowywania odtwarzacza multimedialnego Android. Odłączam dźwięk z pliku .mp4 za pomocą iMove. Bardzo łatwo to zrobić, kliknij dwukrotnie wideo i wybierz odłącz audio, a następnie usuń ścieżkę audio.

Przesyłam ścieżkę wideo i ścieżkę audio oddzielnie, tak jak w przypadku wideo Używam rtsp, jak w przypadku dźwięku, używam serwera WWW Apache, Android może statycznie odczytywać dźwięk, tak jak czyta pliki lokalne.

BTW, próbowałem używać każdego protokołu dostarczonego przez Wowza do streamowania .mp3, żaden z nich nie działa.

Mój kod jest następujący:

public void PlayVideo() { 
     MediaController vidControl = new MediaController(this); 
     vidControl.setAnchorView(VideoPlayer); 
     VideoPlayer.setMediaController(vidControl); 


     VideoPlayer.setVideoPath("rtsp://137.110.90.123:1935/vod/SamNoSound.mp4"); 


     VideoPlayer.start(); 

    } 

public void PlayAudio() { 
     //play audio 
     String url = "http://137.110.90.123/~chenyu/sample.mp3"; // your URL here 

     try { 
      AudioPlayer.setDataSource(url); 
      AudioPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 
      AudioPlayer.prepare(); 
      AudioPlayer.start(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

Powiedziałbym, jeśli naprawdę chcę podkreślić na streaming, polecam użyć VLC, moje polecenia dla strumieniowego .mp3 jest:

Tylko Stream Audio

vlc /Users/chenyu/Sites/XXXX.mp3 -I http --sout "#transcode{ab=128,samplerate=44100,channels=2,acodec=mpga,vcodec=none}:gather:rtp{mp4a-latm,sdp=rtsp://137.110.92.231:5554/stream.sdp}"