Selasa, 19 Maret 2013

Membuat Android Video Player Online, Play Video 3GP URL Web Online

Penulis pernah membuat tutorial cara Membuat Video Player di Android. Tetapi video yang di mainkan harus tersimpan di SDCard. Kali ini penulis coba membuat Video Player di Android tetapi memainkan Video secara Streaming dari Web, artinya Video 3GP tersebut berada di Web Online, yang kita ketahui cukup URL dari Video tersebut.

Video yang didukung untuk streaming dari Web sejauh yang penulis ketahui hanya *.3gp, bahkan *.mp4 saja tidak bisa, apalagi *.avi.

Caranya buat Project Android baru. Kemudian pada pada Activity Utama ketikkan program berikut :

MainActivity.java


package com.example.videoweb;

import android.media.MediaPlayer;
import android.media.MediaPlayer.OnPreparedListener;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.app.ProgressDialog;
import android.graphics.PixelFormat;
import android.view.Menu;
import android.widget.MediaController;
import android.widget.VideoView;



// http://cariprogram.blogspot.com
// nuramijaya@gmail.com

public class MainActivity extends Activity {
private static ProgressDialog progressDialog;
public String video_url;
private  MediaController mediaController;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

progressDialog = ProgressDialog.show(MainActivity.this, "", "Buffering video...", true);
   getWindow().setFormat(PixelFormat.TRANSLUCENT); 

   //video_url = "http://www.letumobi.com/videouploads/cd0a4170-1fb2-4fba-b17c-b5d70b2cd2e7.mp4";
   video_url = "http://daily3gp.com/vids/747.3gp";

       try {
               final VideoView videoView =(VideoView)findViewById(R.id.videoView1);
               mediaController = new MediaController(MainActivity.this);
               mediaController.setAnchorView(videoView);
               // Set video link (mp4 format )
               Uri video = Uri.parse(video_url);
               videoView.setMediaController(mediaController);
               videoView.setVideoURI(video);

               videoView.setOnPreparedListener(new OnPreparedListener() {

                   public void onPrepared(MediaPlayer mp) {
                       progressDialog.dismiss();
                      videoView.start();
                   }
               });

            }catch(Exception e){
                 progressDialog.dismiss();
                System.out.println("Video Play Error :"+e.getMessage());
            }

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}


Kemudian ubah tampilan aplikasi, tambahkan WebView pada main_activity.xml :

main_activity.xml :


<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" >

    <VideoView
        android:id="@+id/videoView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true" />

</RelativeLayout>


Jangan lupa menambahkan permission INTERNET agar dapat terhubung ke webserver dimana file Video berada :

AndroidManifest.xml


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.videoweb"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />
    <uses-permission android:name="android.permission.INTERNET"/>

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.videoweb.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

</manifest>


Project selengkapnya dapat didownload disini

Semoga bermanfaat.