Site icon ParallelCodes

Android How to play videos from Storage and Filepath

Hi,

In this post we will see how we can play video in android from internal memory path or a filepath. The application will be have an android video view control and it will be given video path during runtime. Important, have must grant permission to application access memory path to play video.

Define permission in AndroidManifest.xml:

AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.parallel.myvideoplayer">

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:screenOrientation="landscape">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

</manifest>

Now add android videoview in activity_main.xml layout file.

res>layout>activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000"
android:orientation="horizontal">

<VideoView
android:id="@+id/videoview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1" />

</LinearLayout>


Now edit your MainActivity.java class file as below:

MainActivity.java:

package com.parallel.myvideoplayer;

import android.net.Uri;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.MediaController;
import android.widget.VideoView;

import java.io.File;

public class MainActivity extends AppCompatActivity {
MediaController mediaController;
VideoView videoview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

videoview = findViewById(R.id.videoview);

mediaController= new MediaController(this);
mediaController.setAnchorView(videoview);

String filePath = Environment.getExternalStorageDirectory() + File.separator +
"video" + File.separator + "video1.mp4";

videoview.setMediaController(mediaController);
videoview.setVideoURI(Uri.parse(filePath));
videoview.start();

}
}

DOWNLOAD SOURCE CODE.

Also see:

How to play videos using Exoplayer in Android?


Exit mobile version