zaterdag 14 december 2013

Play Video File - Android Example

In this example showing code to play video. Taking a video(3gp) file inside application raw folder and playing in on activity.



1. Start Android Project with Eclipse. File Structure:


JAVA FILE : AndroidVideoPlayer.java

Using VideoView class to load video from various sources (such as resources or content providers), takes care of computing its measurement from the video so that it can be used in any layout manager, and provides various display options such as scaling and tinting.


package com.android.AndroidVideoPlayer;
 
import android.app.Activity;
import android.graphics.PixelFormat;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.widget.Button;
import android.widget.VideoView;
 
//Implement SurfaceHolder interface to Play video
//Implement this interface to receive information about changes to the surface
public class AndroidVideoPlayer extends Activity implements SurfaceHolder.Callback{
 
    MediaPlayer mediaPlayer;
    SurfaceView surfaceView;
    SurfaceHolder surfaceHolder;
    boolean pausing = false;;
     
     
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
         
        Button buttonPlayVideo = (Button)findViewById(R.id.playvideoplayer);
         
        getWindow().setFormat(PixelFormat.UNKNOWN);
        
        //Displays a video file.  
        VideoView mVideoView = (VideoView)findViewById(R.id.videoview);
        
         
        String uriPath = "android.resource://com.android.AndroidVideoPlayer/"+R.raw.k;
        Uri uri = Uri.parse(uriPath);
        mVideoView.setVideoURI(uri);
        mVideoView.requestFocus();
        mVideoView.start();
 
         
         
        buttonPlayVideo.setOnClickListener(new Button.OnClickListener(){
 
            @Override
            public void onClick(View v) {
             
                    // VideoView refference see main.xml
                    VideoView mVideoView = (VideoView)findViewById(R.id.videoview);
                    
                    String uriPath = "android.resource://com.android.AndroidVideoPlayer/"+R.raw.k;
                     
                    Uri uri = Uri.parse(uriPath);
                    mVideoView.setVideoURI(uri);
                    mVideoView.requestFocus();
                    mVideoView.start();
                 
                 
            }});
     }
     
    @Override
    public void surfaceChanged(SurfaceHolder holder, int format, int width,
            int height) {
        // TODO Auto-generated method stub
         
    }
 
    @Override
    public void surfaceCreated(SurfaceHolder holder) {
        // TODO Auto-generated method stub
         
    }
 
    @Override
    public void surfaceDestroyed(SurfaceHolder holder) {
        // TODO Auto-generated method stub
         
    }
}



Layout FILE : main.xml

Define VideoView as xml element to play video on activity.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
  <TextView 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/hello"
    />
  <Button
    android:id="@+id/playvideoplayer" 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="- PLAY Video -"
    />
 
     
   <VideoView
    android:id="@+id/videoview" 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    />
     
 
</LinearLayout>

Android Manifest FILE : AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
      package="com.android.AndroidVideoPlayer"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="10" />
 
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".AndroidVideoPlayer"
                  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>



0 reacties:

Een reactie posten