VideoView+MediaPlayer RTSP视频播放方案

RTSP 流视频的播放,Android 下用VideoView配合MediaPlayer是个比较稳的组合。VideoView 负责展示,MediaPlayer 负责流媒体播放,搭配起来用着还挺顺的。尤其是你想在 App 里播放实时监控、直播这类 RTSP 视频,用这套方案就比较靠谱。

VideoView是 Android 自带的视图组件,支持本地和网络视频,操作也简单。你只需要在布局文件里放个VideoView,就能开始搞事情了,像这样:

MediaPlayer是后台的大脑,支持 RTSP、HTTP 这些协议。你只要拿到视频地址,调用setDataSource就行了。别忘了加上监听器,比如onPrepared,准备好之后才能开始播放:

mediaPlayer.setOnPreparedListener(mp -> {
    videoView.setVideoURI(Uri.parse(rtspUrl));
    videoView.start();
});

RTSP 流用起来虽然方便,但也有点挑网络环境,卡顿或者连接不上都是常事。你得好onErroronCompletion,比如播放失败要提示用户,播放完可以自动重播或释放资源:

mediaPlayer.setOnErrorListener((mp, what, extra) -> {
    // 提示用户或尝试重连
    return true;
});

项目的代码用 Git 管着,版本回退啥的也都方便,协作起来也比较顺。整体实现思路清晰,适合想快速上手 RTSP 播放的你。如果你刚好要做个监控类 App 或者远程视频预览功能,这资源挺值得参考的。

如果你对视频流播放感兴趣,也可以看看这些:

zip 文件大小:22.05MB