import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.PixelFormat;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.media.MediaPlayer.OnPreparedListener;
import android.net.Uri;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.Menu;
import android.widget.MediaController;
import android.widget.VideoView;
enter code here
public class Videoplay extends Activity {
VideoView video;
private String current;
String path = "";
ProgressDialog progressDialog;
MediaController mediaController;
float scale;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_videoplay);
setupUI();
progressDialog = ProgressDialog.show(Videoplay.this, "",
"Buffering video...", true);
progressDialog.setCancelable(false);
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
scale = (metrics.heightPixels * 1.0f) / (metrics.widthPixels * 1.0f);
PlayVideo();
/*
* runOnUiThread(new Runnable(){ public void run() { playVideo();
*
* }
*
* });
*/
}
private void setupUI() {
video = (VideoView) findViewById(R.id.videoView);
Intent data = getIntent();
path = data.getStringExtra("path");
mediaController = new MediaController(Videoplay.this);
}
/*
* private void playVideo() { try { System.out.println("calll===?"+path);
* Log.v("e", "path: " + path); if (path == null || path.length() == 0) {
* Toast.makeText(Videoplay.this, "File URL/path is empty",
* Toast.LENGTH_LONG).show(); } else { // If the path has not changed, just
* start the media player if (path.equals(current) && video != null) {
* video.start(); video.requestFocus(); return; } ///getDataSource(path)
* current = path; video.setZOrderOnTop(true);
* //video.setVideoPath("http://www.semanticdevlab.com/abc.mp4");
* video.setVideoPath(path); video.requestFocus();
* video.setMediaController(mediaController); video.start(); } } catch
* (Exception e) { Log.e("e", "error: " + e.getMessage(), e); if (video !=
* null) { video.stopPlayback(); } } }
*/
@SuppressLint("NewApi")
private void PlayVideo() {
try {
getWindow().setFormat(PixelFormat.TRANSLUCENT);
MediaController mediaController = new MediaController(
Videoplay.this);
mediaController.setAnchorView(video);
System.out.println("path" + path);
Uri video1 = Uri.parse(path);
video.setMediaController(mediaController);
video.setVideoURI(video1);
//video.setScaleX(scale);
video.requestFocus();
video.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
// TODO Auto-generated method stub
Videoplay.this.finish();
}
});
video.setOnPreparedListener(new OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {
progressDialog.dismiss();
video.start();
}
});
video.setOnErrorListener(new MediaPlayer.OnErrorListener() {
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
// TODO Auto-generated method stub
progressDialog.dismiss();
showDialog("This video can't play", Videoplay.this);
return true;
}
});
} catch (Exception e) {
progressDialog.dismiss();
System.out.println("Video Play Error :" + e.toString());
finish();
}
}
public void showDialog(String message, Context context) {
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
context);
alertDialogBuilder.setTitle("Notification !");
alertDialogBuilder.setMessage(message).setCancelable(false)
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
finish();
}
});
// create alert dialog
AlertDialog alertDialog = alertDialogBuilder.create();
// show it
alertDialog.show();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.videoplay, menu);
return true;
}
@Override
public void onBackPressed() {
try {
if (video.isPlaying()) {
video.stopPlayback();
}
} catch (Exception e) {
e.printStackTrace();
}
super.onBackPressed();
}
}