package com.oreilly.demo.android.pa.audioplayer; import java.io.File; import android.app.Activity; import android.net.Uri; import android.os.Bundle; import android.view.MotionEvent; import android.widget.MediaController; import android.widget.Toast; import android.widget.VideoView; public class VideoPlayer extends Activity { public static final String VIDEOURI = "VideoUri"; public static final String VIDEOFILEPATH = "VideoFilePath"; private static final String MEDIAFILE = "/sdcard/videorecordexample.mp4"; private static final String SAMPLEURI = null; private Uri videouri; private String videopath; private MediaController mediacontroller; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if(getIntent() != null) { if(getIntent().hasExtra(VIDEOURI)) { videouri = getIntent().getParcelableExtra(VIDEOURI); } else if(getIntent().hasExtra(VIDEOFILEPATH)) { videopath = getIntent().getStringExtra(VIDEOFILEPATH); } } if(videouri == null && videopath == null) { if(SAMPLEURI != null) videouri = Uri.parse(SAMPLEURI); else { videopath = MEDIAFILE; if(!(new File(videopath).exists())) { Toast.makeText(this, "Please run the VideoRecorder example first and record a video", Toast.LENGTH_SHORT).show(); finish(); return; } } } setContentView(R.layout.videoplayer); setupVideoView(); } @Override public boolean onTouchEvent(MotionEvent event) { if(mediacontroller != null) mediacontroller.show(0); return super.onTouchEvent(event); } private void setupVideoView() { VideoView videoview = (VideoView) findViewById(R.id.videoview); videoview.setKeepScreenOn(true); if(videouri != null) videoview.setVideoURI(videouri); else videoview.setVideoPath(videopath); mediacontroller = new MediaController(this); mediacontroller.setAnchorView(videoview); videoview.setMediaController(mediacontroller); if (videoview.canSeekForward()) videoview.seekTo(videoview.getDuration()/2); videoview.start(); } }