我在開發Android媒體播放器時遇到了同樣的問題。 我使用iMove從.mp4文件分離音頻。這很容易做到,雙擊視頻並選擇分離音頻,然後刪除音軌。
我分別傳輸視頻軌道和音頻軌道,至於視頻,我正在使用rtsp,至於音頻,我使用apache web服務器,android可以靜態讀取音頻,就像讀取本地文件一樣。
順便說一句,我已經嘗試使用Wowza提供的每個協議流.mp3,都沒有工作。
我的代碼如下:
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();
}
我想說,如果你真的想強調的流,我會建議使用VLC,我的流媒體MP3播放的命令是:
只進流音頻
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}"
你誤解釋Android文檔 - 以報價*對於被流通過HTTP或RTSP *也差不多了,沒有其他手段的視頻內容!此外,*音頻和視頻播放支持以下網絡協議:*這並不意味着MP3支持使用RTSP進行流式傳輸。 wowza上的文檔是正確的!似乎Android文檔尚未更新,以澄清這一點。沒有可以做! – t0mm13b
@ t0mm13b嗯謝謝。所以底線是我們不能在.rts上播放rtsp,但是如果編碼是根據android提供的視頻編碼要求,我們可以在rtsp上播放.mp4(視頻)?即正常的mp4不會在rtsp上播放,直到按照要求進行編碼。 –
是的,這是正確的。 – t0mm13b