5

我想使用默认的 MediaPlayer 库在 android 上播放 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

我很困惑,这里真正的问题是什么,因为一个文档说明它可以,而另一个文档说明它没有?有人可以告诉我吗?

4

2 回答 2

3

您应该对 MP3 文件使用 HTTP 流,这是由 Wowza 支持的,参考:http ://broadcastengineering.com/products/wowza-expands-media-server-2-http-streaming-ability

您还可以找到适用于 Android 的 MP4 规格,甚至是多个平台支持的 MP4 规格并使用它们。根据您的连接带宽,带有 AAC 音频的 480p 或 720p 应该可以在任何地方使用。

于 2013-01-14T04:15:28.233 回答
0

我在开发 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}"
于 2015-01-14T02:12:18.857 回答