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}"
Ź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
@ 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. –
Tak, zgadza się. – t0mm13b