activity
package com.huru.videoplayer.activity;
import android.content.res.AssetFileDescriptor;
import android.graphics.Color;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Toast;
import com.huru.videoplayer.R;
import java.io.IOException;
public class MainActivity extends AppCompatActivity {
private SurfaceView svStart;
private MediaPlayer player;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Window window = getWindow();
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS
| WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(Color.TRANSPARENT);
window.setNavigationBarColor(Color.TRANSPARENT);
setContentView(R.layout.activity_main);
svStart = findViewById(R.id.video_view);
playVideo();
}
private void playVideo(){
svStart = findViewById(R.id.video_view);
final SurfaceHolder holder = svStart.getHolder();
holder.addCallback(new SurfaceHolder.Callback() {
@Override
public void surfaceCreated(SurfaceHolder surfaceHolder) {
player.setDisplay(holder);
}
@Override
public void surfaceChanged(SurfaceHolder surfaceHolder, int i, int i1, int i2) {
}
@Override
public void surfaceDestroyed(SurfaceHolder surfaceHolder) {
}
});
holder.setKeepScreenOn(true);
player = new MediaPlayer();
player.setAudioStreamType(AudioManager.STREAM_MUSIC);
player.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
svStart.setVisibility(View.VISIBLE);
}
},200);
if (!player.isPlaying()) {
player.start();
}
}
});
player.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
Toast.makeText(MainActivity.this,"end",Toast.LENGTH_SHORT).show();
player.start();
}
});
try {
AssetFileDescriptor file = getResources().openRawResourceFd(R.raw.video);
player.setDataSource(file.getFileDescriptor(), file.getStartOffset(),
file.getLength());
player.setVideoScalingMode(MediaPlayer.VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING);
player.setLooping(false);
player.prepare();
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
@Override
public boolean onTouchEvent(MotionEvent event) {
Toast.makeText(this,"touch",Toast.LENGTH_SHORT).show();
return super.onTouchEvent(event);
}
@Override
protected void onPause() {
player.pause();
super.onPause();
}
@Override
protected void onResume() {
player.start();
super.onResume();
}
@Override
protected void onDestroy() {
super.onDestroy();
if (player.isPlaying()) {
player.stop();
}
player.release();
}
}
xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activity.MainActivity">
<SurfaceView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/video_view"
android:visibility="gone"/>
</android.support.constraint.ConstraintLayout>