- Create a layout for video playback
- Create a video view and video controller for video playback
mVideoView = (VideoView)findViewById(
R.id.video_playback_view);
R.id.video_playback_view);
mMediaController = new MediaController(this);
mVideoView.setMediaController(mMediaController);
mVideoView.setOnPreparedListener(
new OnPreparedListener() {
new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
AudioManager audioManager = (AudioManager)
getApplicationContext().getSystemService(
Context.AUDIO_SERVICE);
getApplicationContext().getSystemService(
Context.AUDIO_SERVICE);
mOriginalVideoVolume = audioManager.
getStreamVolume(AudioManager.STREAM_MUSIC);
getStreamVolume(AudioManager.STREAM_MUSIC);
if (mOriginalVideoVolume != mVideoVolume) {
audioManager.setStreamVolume(
AudioManager.STREAM_MUSIC, mVideoVolume,
AudioManager.FLAG_PLAY_SOUND);
AudioManager.STREAM_MUSIC, mVideoVolume,
AudioManager.FLAG_PLAY_SOUND);
}
int duration = mVideoView.getDuration();
mMediaController.show(duration);
mVideoView.start();
}
});
mVideoView.setOnCompletionListener(
new MediaPlayer.OnCompletionListener() {
new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
AudioManager audioManager = (AudioManager)
getApplicationContext().
getSystemService(Context.AUDIO_SERVICE);
getApplicationContext().
getSystemService(Context.AUDIO_SERVICE);
if (mOriginalVideoVolume != mVideoVolume) {
audioManager.setStreamVolume(
AudioManager.STREAM_MUSIC,
mOriginalVideoVolume,
AudioManager.FLAG_PLAY_SOUND);
AudioManager.STREAM_MUSIC,
mOriginalVideoVolume,
AudioManager.FLAG_PLAY_SOUND);
}
finish();
}
});
- Set video path on resume
protected void onResume() {
...
if (mVideoPath.equalsIgnoreCase("default_video")) {
finish();
} else
mVideoView.setVideoPath(mVideoPath);
}
- Sample code for android video playback
import android.app.Activity;
import
android.content.Context;
import
android.content.SharedPreferences;
import
android.content.SharedPreferences.Editor;
import android.media.AudioManager;
import
android.media.MediaPlayer;
import
android.media.MediaPlayer.OnPreparedListener;
import android.os.Bundle;
import android.util.Log;
import
android.view.KeyEvent;
import android.view.Window;
import
android.view.WindowManager;
import android.widget.MediaController;
import
android.widget.VideoView;
public class
VideoPlaybackActivity extends Activity {
private final String mTAG =
"VideoPlaybackActivity";
private VideoView mVideoView;
private MediaController mMediaController;
private String mVideoPath;
private int mOriginalVideoVolume;
private int mVideoVolume;
@Override
public void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.video_playback);
getWindow().addFlags(
WindowManager.LayoutParams.FLAG_FULLSCREEN);
WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().addFlags(
WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
SharedPreferences
preferences = getApplicationContext().
getSharedPreferences("VideoRecording", MODE_PRIVATE);
getSharedPreferences("VideoRecording", MODE_PRIVATE);
mVideoPath
= preferences.getString("video_path",
"default_video");
AudioManager
audioManager = (AudioManager)
getApplicationContext().getSystemService(
Context.AUDIO_SERVICE);
getApplicationContext().getSystemService(
Context.AUDIO_SERVICE);
mVideoVolume
= preferences.getInt("video_volume",
audioManager.getStreamMaxVolume(
AudioManager.STREAM_MUSIC));
audioManager.getStreamMaxVolume(
AudioManager.STREAM_MUSIC));
mVideoView =
(VideoView)findViewById(
R.id.video_playback_view);
R.id.video_playback_view);
mMediaController = new
MediaController(this);
mVideoView.setMediaController(mMediaController);
mVideoView.setOnPreparedListener(
new OnPreparedListener() {
new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
AudioManager
audioManager = (AudioManager)
getApplicationContext().getSystemService(
Context.AUDIO_SERVICE);
getApplicationContext().getSystemService(
Context.AUDIO_SERVICE);
mOriginalVideoVolume
= audioManager.
getStreamVolume(AudioManager.STREAM_MUSIC);
getStreamVolume(AudioManager.STREAM_MUSIC);
if
(mOriginalVideoVolume != mVideoVolume) {
audioManager.setStreamVolume(
AudioManager.STREAM_MUSIC, mVideoVolume,
AudioManager.FLAG_PLAY_SOUND);
AudioManager.STREAM_MUSIC, mVideoVolume,
AudioManager.FLAG_PLAY_SOUND);
}
int
duration = mVideoView.getDuration();
mMediaController.show(duration);
mVideoView.start();
}
});
mVideoView.setOnCompletionListener(
new MediaPlayer.OnCompletionListener() {
new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
AudioManager
audioManager = (AudioManager)
getApplicationContext().
getSystemService(Context.AUDIO_SERVICE);
getApplicationContext().
getSystemService(Context.AUDIO_SERVICE);
if
(mOriginalVideoVolume != mVideoVolume) {
audioManager.setStreamVolume(
AudioManager.STREAM_MUSIC,
mOriginalVideoVolume,
AudioManager.FLAG_PLAY_SOUND);
AudioManager.STREAM_MUSIC,
mOriginalVideoVolume,
AudioManager.FLAG_PLAY_SOUND);
}
finish();
}
});
}
@Override
protected void onResume() {
super.onResume();
if
(mVideoPath.equalsIgnoreCase("default_video")) {
finish();
}
else
mVideoView.setVideoPath(mVideoPath);
}
}