我试图从RTSP服务器流式播放视频。我想在我的应用程序中运行视频。我尝试了三种不同的方法,其中只有一种似乎有效:无法RTSP流视频的Android的MediaPlayer
- 使用VideoView(不起作用)。
- 使用原生播放器(作品)。
- 使用的MediaPlayer(不工作)。
我要显示在MediaPlayer的视频中却无法做到这一点。
下面是代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/* 1. Using VideoView, error: "Cannot play video"
VideoView vidView = (VideoView) findViewById(R.id.myVideo);
String vidAdress = "rtsp://10.42.0.91:5554/camera";
Uri vidUri = Uri.parse(vidAdress);
vidView.setVideoURI(vidUri);
vidView.start();
*/
//Using native player (implicit intent), works.
String mediaURL = "rtsp://10.42.0.91:5554/camera";
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(mediaURL));
startActivity(intent);
/* Using MediaPlayer (doesn't work). Error: "Cannot create MediaPlayer"
and setDataSource.
setVolumeControlStream(AudioManager.STREAM_MUSIC);
mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
try
{
mediaPlayer.setDataSource("rtsp://10.42.0.91:5554/camera");
mediaPlayer.prepare();
mediaPlayer.start();
}
catch (IOException ex)
{
ex.printStackTrace();
}
*/
HTTP:10.42.0.91:8080/playlist.m3u看起来是这样的:
#EXTM3U
#PLAYLIST:RTSP摄像机服务器 #EXTINF :-1,Active camera rtsp://10.42.0.91:5554/camera #EXTINF:319,3/3/16 PM 3:08:35 MB rtsp://10.42.0.91:5554/record160303_1500 # EXTINF:1047,3/3/16 P M 2:15:106.4 MB rtsp://10.42.0.91:5554/record160303_1400 #EXTINF:1364,All records 141.4 MB rtsp://10.42.0.91:5554/record #EXTINF:-1,Back camera RTSP://10.42.0.91:5554 /背面 #EXTINF:-1,前置摄像头 RTSP://10.42.0.91:5554 /前