Here you will learn how to play video from url in android using videoview.
We can using VideoView widget to play offline video as well as video from url.
In below example I have displayed a progress dialog until the video is buffering.
Also Read: Picasso Android Tutorial – Load Image from URL
Android Play Video From URL Using VideoView Example
Create an android studio project with package name com.videoview
Add internet access permission in AndroidManifest.xml file.
<uses-permission android:name="android.permission.INTERNET" />
Now add following code in respective files.
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.videoview.MainActivity"> <VideoView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/video" /> </RelativeLayout>
MainActivity.java
package com.videoview; import android.app.ProgressDialog; import android.media.MediaPlayer; import android.net.Uri; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.VideoView; public class MainActivity extends AppCompatActivity { VideoView video; String video_url = "http://file2.video9.in/english/movie/2014/x-men-_days_of_future_past/X-Men-%20Days%20of%20Future%20Past%20Trailer%20-%20[Webmusic.IN].3gp"; ProgressDialog pd; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); video = (VideoView)findViewById(R.id.video); pd = new ProgressDialog(MainActivity.this); pd.setMessage("Buffering video please wait..."); pd.show(); Uri uri = Uri.parse(video_url); video.setVideoURI(uri); video.start(); video.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer mp) { //close the progress dialog when buffering is done pd.dismiss(); } }); } }
Save and run the project.
Screenshot