So I have a
VideoView
loadingVideo = new VideoView(getContext());
String videoPath = "android.resource://" + splashActivity.getPackageName() + "/" + R.raw.loading_video;
loadingVideo.setVideoURI(Uri.parse(videoPath));
loadingVideo.setLayoutParams(new FrameLayout.LayoutParams(Constants.PIXEL_WIDTH, Constants.PIXEL_HEIGHT));
loadingVideo.setTranslationX(0);
loadingVideo.setTranslationY(0);
loadingVideo.start();
this.widgetContainer.addView(loadingVideo);
OnCompletionListener
if(loadingVideo.isPlaying()) {
loadingVideo.draw(canvas);
System.out.println();
}
draw(Canvas canvas)
Canvas canvas = null;
SurfaceHolder sh = getHolder();
boolean unlocked = false;
try {
if(sh.getSurface().isValid()) {
canvas = sh.lockCanvas();
synchronized(sh) {
draw(canvas);
}
}
} catch(Exception e) {
if(canvas != null && sh.getSurface().isValid()) {
sh.unlockCanvasAndPost(canvas);
unlocked = true;
}
e.printStackTrace();
} finally {
if(!unlocked && canvas != null && sh.getSurface().isValid()) {
sh.unlockCanvasAndPost(canvas);
}
}