Android studio 如何在videoview中播放流视频
我想用videoview播放流视频,但视频视图无法打开它。 我能够用VLC播放视频流,当我在浏览器中输入url时,一个mpeg文件开始下载 我的代码如下:Android studio 如何在videoview中播放流视频,android-studio,video-streaming,android-videoview,Android Studio,Video Streaming,Android Videoview,我想用videoview播放流视频,但视频视图无法打开它。 我能够用VLC播放视频流,当我在浏览器中输入url时,一个mpeg文件开始下载 我的代码如下: VideoView videoView = findViewById(R.id.videoView); videoView.setVideoPath("http://172.16.10.39:3002/2"); videoView.setMediaController(new MediaController(this));
VideoView videoView = findViewById(R.id.videoView);
videoView.setVideoPath("http://172.16.10.39:3002/2");
videoView.setMediaController(new MediaController(this));
videoView.start();
运行时,我会得到以下日志:
2021-05-10 13:05:26.982 5595-5595/ir.irib.sahand.multiviewer I/art: Not late-enabling -Xcheck:jni (already on)
2021-05-10 13:05:26.983 5595-5595/ir.irib.sahand.multiviewer W/art: Unexpected CPU variant for X86 using defaults: x86
2021-05-10 13:05:27.318 5595-5595/ir.irib.sahand.multiviewer W/MediaPlayer: Couldn't open http://172.16.10.39:3002/2: java.io.FileNotFoundException: No content provider: http://172.16.10.39:3002/2
2021-05-10 13:05:27.332 5595-5607/ir.irib.sahand.multiviewer D/NetworkSecurityConfig: No Network Security Config specified, using platform default
2021-05-10 13:05:27.410 5595-5610/ir.irib.sahand.multiviewer I/OpenGLRenderer: Initialized EGL, version 1.4
2021-05-10 13:05:27.410 5595-5610/ir.irib.sahand.multiviewer D/OpenGLRenderer: Swap behavior 1
2021-05-10 13:05:27.413 5595-5610/ir.irib.sahand.multiviewer W/OpenGLRenderer: Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
2021-05-10 13:05:27.413 5595-5610/ir.irib.sahand.multiviewer D/OpenGLRenderer: Swap behavior 0
2021-05-10 13:05:27.425 5595-5610/ir.irib.sahand.multiviewer D/EGL_emulation: eglCreateContext: 0xa02f2220: maj 3 min 1 rcv 4
2021-05-10 13:05:27.430 5595-5610/ir.irib.sahand.multiviewer D/EGL_emulation: eglMakeCurrent: 0xa02f2220: ver 3 1 (tinfo 0x9ff8ddb0)
2021-05-10 13:05:27.430 5595-5610/ir.irib.sahand.multiviewer E/eglCodecCommon: glUtilsParamSize: unknow param 0x000082da
2021-05-10 13:05:27.431 5595-5610/ir.irib.sahand.multiviewer E/eglCodecCommon: glUtilsParamSize: unknow param 0x00008cdf
2021-05-10 13:05:27.431 5595-5610/ir.irib.sahand.multiviewer E/eglCodecCommon: glUtilsParamSize: unknow param 0x00008824
2021-05-10 13:05:27.841 5595-5610/ir.irib.sahand.multiviewer D/EGL_emulation: eglMakeCurrent: 0xa02f2220: ver 3 1 (tinfo 0x9ff8ddb0)
2021-05-10 13:06:06.243 5595-5635/ir.irib.sahand.multiviewer E/MediaPlayer: error (1, -2147483648)
2021-05-10 13:06:06.244 5595-5595/ir.irib.sahand.multiviewer E/MediaPlayer: Error (1,-2147483648)
2021-05-10 13:06:06.245 5595-5595/ir.irib.sahand.multiviewer D/VideoView: Error: 1,-2147483648
2021-05-10 13:06:06.439 5595-5610/ir.irib.sahand.multiviewer D/EGL_emulation: eglMakeCurrent: 0xa02f2220: ver 3 1 (tinfo 0x9ff8ddb0)
有人能帮我吗?
谢谢你试试这个
video=(VideoView)findViewById(R.id.video);
progressBarLandScape=(ProgressBar)findViewById(R.id.pb);
Uri uri = Uri.parse("link of your video");
video.setVideoURI(uri);
video.requestFocus();
video.setOnInfoListener(new MediaPlayer.OnInfoListener() {
@Override
public boolean onInfo(MediaPlayer mp, int what, int extra) {
if (what == MediaPlayer.MEDIA_INFO_BUFFERING_END) {
progressBarLandScape.setVisibility(View.GONE);
return true;
}
else if(what == MediaPlayer.MEDIA_INFO_BUFFERING_START){
progressBarLandScape.setVisibility(View.VISIBLE);
return true;
}
return false;
}
});
video.start();