我試圖從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 /前