package com.basic.security.fragment;
|
|
import android.content.pm.PackageManager;
|
import android.graphics.Outline;
|
import android.media.MediaPlayer;
|
import android.support.annotation.NonNull;
|
import android.support.v4.content.ContextCompat;
|
import android.view.View;
|
import android.view.ViewOutlineProvider;
|
import android.widget.VideoView;
|
|
import com.basic.security.R;
|
import com.basic.security.base.BaseFragment;
|
|
import org.androidannotations.annotations.AfterViews;
|
import org.androidannotations.annotations.EFragment;
|
import org.androidannotations.annotations.UiThread;
|
import org.androidannotations.annotations.ViewById;
|
|
|
@EFragment(R.layout.fragment_video_view)
|
public class VideoViewFragment extends BaseFragment {
|
|
private static final int STORAGE_OK = 1023;
|
@ViewById
|
public VideoView videoView;
|
@ViewById
|
public View overlay;
|
|
@UiThread
|
public void show() {
|
// videoView.setVisibility(View.VISIBLE);
|
}
|
|
@UiThread
|
public void hide() {
|
// videoView.setVisibility(View.INVISIBLE);
|
}
|
|
@UiThread
|
public void showOverlay() {
|
overlay.setVisibility(View.VISIBLE);
|
}
|
|
@UiThread
|
public void hideOverlay() {
|
if (overlay != null) {
|
overlay.setVisibility(View.INVISIBLE);
|
}
|
}
|
|
@AfterViews
|
public void afterViews() {
|
|
if (ContextCompat.checkSelfPermission(mainActivity(), android.Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
|
requestPermissions(new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE}, STORAGE_OK);
|
} else {
|
// BaseApplication.getApplication().initLocalSetting();
|
playVideo();
|
}
|
}
|
|
@Override
|
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
|
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
|
switch (requestCode) {
|
case STORAGE_OK:
|
playVideo();
|
break;
|
|
default:
|
break;
|
}
|
}
|
|
private void playVideo() {
|
videoView.setOnErrorListener(new MediaPlayer.OnErrorListener() {
|
@Override
|
public boolean onError(MediaPlayer mp, int what, int extra) {
|
return true;
|
}
|
});
|
videoView.setOutlineProvider(new ViewOutlineProvider() {
|
@Override
|
public void getOutline(View view, Outline outline) {
|
outline.setRoundRect(0, 0, view.getWidth(), view.getHeight(), getActivity().getResources().getDimension(R.dimen.corner_radius));
|
}
|
});
|
videoView.setClipToOutline(true);
|
videoView.setVideoPath("/sdcard/face.mp4");
|
videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
|
@Override
|
public void onCompletion(MediaPlayer mp) {
|
mp.start();
|
mp.setLooping(true);
|
}
|
});
|
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
|
@Override
|
public void onPrepared(MediaPlayer mp) {
|
mp.start();
|
mp.setLooping(true);
|
}
|
});
|
}
|
|
@UiThread
|
public void videoViewStart() {
|
videoView.start();
|
}
|
|
}
|