Я пытаюсь отобразить файл mp4, добавленный в ресурсы Android в res/raw
, примерно так:
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();
}
}
}
но все, что я испытываю, это звук видео, экран остается пустым на моем Samsung GalaxyTab. Исходный файл представляет собой файл mp4 (H.264 AVC, 960x640, 30 кадров в секунду) и может прекрасно воспроизводиться с Quicktime и VLC.
Я пытался уменьшить и изменить размер исходного видео с помощью Handbrake, до 480x320 и 25 кадров в секунду, я пробовал несколько настроек в ручном тормозе, все безуспешно.
Что-то явно не так с моим кодом, или это формат видео или что-то еще - что я делаю не так?
Спасибо заранее,
Томас.