Streaming Video in Android…

By | January 23, 2017

Here is a simple example for Streaming video in Android…

Below is my layout that contains a VideoView and ProgressBar.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context="com.coderzheaven.videostream.MainActivity"
    tools:showIn="@layout/activity_main">

    <VideoView
        android:id="@+id/myVideo"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_centerInParent="true"
        android:visibility="gone" />

    <ProgressBar
        android:id="@+id/progressBar"
        style="?android:attr/progressBarStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true" />

</RelativeLayout>

Don’t forget to add internet permission in the Android Manifest.

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

MainActivity

package com.coderzheaven.videostream;

import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.MediaController;
import android.widget.ProgressBar;
import android.widget.VideoView;

public class MainActivity extends AppCompatActivity 
                                implements MediaPlayer.OnPreparedListener {

    ProgressBar progressBar;
    VideoView videoView;
    public static final String videoUrl = "YOUR VIDEO URL";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        progressBar = (ProgressBar) findViewById(R.id.progressBar);
        videoView = (VideoView) findViewById(R.id.myVideo);

        Uri vidUri = Uri.parse(videoUrl);
        videoView.setVideoURI(vidUri);
        videoView.start();
        videoView.setOnPreparedListener(this);

        //Showing Controls
        MediaController mediaController = new MediaController(this);
        mediaController.setAnchorView(videoView);
        videoView.setMediaController(mediaController);

    }

    @Override
    public void onPrepared(MediaPlayer mp) {

        mp.start();
        mp.setOnVideoSizeChangedListener(new 
                          MediaPlayer.OnVideoSizeChangedListener() {
            @Override
            public void onVideoSizeChanged(MediaPlayer mp, int arg1,
                                           int arg2) {
                progressBar.setVisibility(View.GONE);
                mp.start();
            }
        });
    }
}

Done.

Leave a Reply

Your email address will not be published. Required fields are marked *