How to play online videos in Android?

前端 未结 3 1091
忘掉有多难
忘掉有多难 2021-01-02 10:20

I am developing a sample media player app in Android to play online videos, I have developed some code to play videos. It plays video from SD card very well, but I am facing

3条回答
  •  长发绾君心
    2021-01-02 10:39

    Update 2020 Kotlin, AndroidX and Android P +

    ProgressDialog is deprecated so I used Alert Dialog to show a loading dialog while the file is buffering and then start playback:

    private fun playVideo(videopath: String) {
        Log.e("Playing Video File: ", "" + videopath);
        try {
            //Show Loader
            val builder: AlertDialog.Builder = AlertDialog.Builder(this@ScreenCaptureImageActivity);
            builder.setCancelable(false); // if you want user to wait for some process to finish,
            builder.setView(R.layout.layout_loading_dialog);
            progressDialog = builder.create();
    
            //add Controller
            val mediaController = MediaController(this@ScreenCaptureImageActivity);
            videoView.setMediaController(mediaController)
            //Add URI
    
            //Uncomment to play from local path
            //videoView.setVideoURI(Uri.parse(videopath))
    
            //Example Play from Internet
            videoView.setVideoPath("http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ElephantsDream.mp4")
    
            videoView.setOnPreparedListener {
                progressDialog!!.dismiss();
                //Start Playback
                videoView.start()
                Log.e(TAG, "Video Started");
            }
        } catch (e: Exception) {
            progressDialog!!.dismiss();
           Log.e(TAG, "Video Play Error :" + e.localizedMessage);
        }
    }
    

    Loader XML

    
    
        
    
        
    
    

    For Network Access add network config in the manifest, from Android P it's required

    
    
    
    
     
    

    Add network_security_config.xml in res/xml

    
    
        
            
                
            
        
    
    

提交回复
热议问题