I try to render an mp4 file I added to my android ressources in res/raw like so:
public class Main extends RoboActivity
{
@InjectView(R.id.introVideo)
private VideoView introVideo;
private MediaPlayer player;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main);
player = MediaPlayer.create(this, R.raw.intro_video2);
SurfaceHolder holder = introVideo.getHolder();
player.setDisplay(holder);
player.start();
player.setOnCompletionListener(new OnCompletionListener() {
public void onCompletion(MediaPlayer mp)
{
startActivity(new Intent(Main.this, Story.class));
releasePlayer();
}
});
}
@Override
protected void onPause()
{
super.onPause();
releasePlayer();
}
@Override
protected void onDestroy()
{
super.onDestroy();
releasePlayer();
}
private void releasePlayer()
{
if (player != null)
{
player.release();
}
}
}
but all I experience is the sound of the video, the screen keeps blank on my Samsung GalaxyTab. The source file is an mp4 file (H.264 AVC, 960×640, 30fps) and can be played perfectly fine with Quicktime and VLC.
I tried to downscale and resize the original video with Handbrake, down to 480×320 and 25fps, I tried several settings in handbrake, everything without success.
Is there anything obviously wrong with my code or is it the video format or something else – what am I doing wrong?
Thanks in advance,
Thomas.
I couldn’t get the above way to work, but I found that it worked when I solely used the provided functionality of Android’s
VideoViewlike this: