我想用默认的MediaPlayer库在安卓系统上播放wowza .mp3流。但我尝试过使用android本身提供的API演示来播放该流,但它不起作用。尽管android文档声明它是这样的。
http://developer.android.com/guide/appendix/media-formats.html
我查看了wowza文档,发现.mp3 rtsp流不能在任何Android设备上播放。http://www.wowza.com/forums/content.php?62
我感到困惑的是,这里真正的问题是什么,因为一个文档表明它是这样的,而另一个文档则说它不是。有人能告诉我吗?
发布于 2013-01-14 12:15:28
你应该对MP3文件使用HTTP流,这是由Wowza支持的,参考:http://broadcastengineering.com/products/wowza-expands-media-server-2-http-streaming-ability
你也可以找到适用于安卓的MP4规范,甚至是那些被多个平台支持的规范,并使用它们。根据您的连接带宽,480p或720p与AAC音频应适用于任何地方。
发布于 2015-01-14 10:12:19
我在开发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}"
https://stackoverflow.com/questions/14280865
复制相似问题