如何在android下层设备中播放rtsp直播?

时间:2014-05-10 05:57:16

标签: android android-mediaplayer rtsp android-videoview

我想通过直播播放视频rtsp.Below是我用来播放视频的代码

    try {

        String http_url="rtsp://live.wmncdn.net/jiljillive/bbb19eae240ec100af921d511efc86a0.sdp";
        //String link = "http://qn.vc/files/data/2947/The%20Pappi%20-%20Heropanti%20-%20Feat%20Raftaar%20%5BMobMp4.Com%5D.mp4.mp4";
        VideoView videoView = (VideoView) findViewById(R.id.videoView1);
        MediaController mediaController = new MediaController(this);
        mediaController.setAnchorView(videoView);
        Uri video = Uri.parse(http_url);
        videoView.setMediaController(mediaController);
        videoView.setVideoURI(video);
        videoView.start();
    } catch (Exception e) {
        // TODO: handle exception
        Toast.makeText(this, "Error connecting", Toast.LENGTH_SHORT).show();
    }

此代码在Android 4.x移动设备中运行良好。但它提供了错误消息,因为抱歉无法播放Android 2.x移动设备中的视频

请告诉我在Android较低设备中播放实时视频RTSP流的解决方案。

2 个答案:

答案 0 :(得分:4)

是的,你是对的。

RTSP是2.x的支持,但旧的Android版本不支持sdp格式。

那么支持这个的可能方法是什么?

  1. 如果您有权访问和修改 RTSP 服务器,则可以 实施 FFMPEG 库,将 sdp 格式转换为 mp3 这是广泛接受的,也适用于Android 2.x设备。

  2. 如果 RTSP 服务器属于第三方且您无权使用 修改它,你不能在你的android项目中使用 FFMPEG 库。但 使用它你需要有足够的 Android NDK 知识。

答案 1 :(得分:0)

试试这个

videoView.setVideoPath(http_url);
videoView.requestFocus();

使用onPrepared(MediaPlayer mp)方法:

@Override
public void onPrepared(MediaPlayer mp) {
    mp.start();
}