Android studio 如何在videoview中播放流视频

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播放流视频,但视频视图无法打开它。 我能够用VLC播放视频流,当我在浏览器中输入url时,一个mpeg文件开始下载

我的代码如下:

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();