我尝试渲染一个mp4文件,我在_220468中添加到我的android ressources中,如下所示:
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();
}
}
}
但我所经历的只是视频的声音,屏幕在我的三星GalaxyTab上保持空白 . 源文件是mp4文件(H.264 AVC,960x640,30fps),可以使用Quicktime和VLC完美播放 .
我尝试使用Handbrake缩小尺寸并调整原始视频的大小,降至480x320和25fps,我在手刹中尝试了几个设置,一切都没有成功 .
我的代码有什么明显的错误,或者是视频格式还是其他什么 - 我做错了什么?
托马斯,先谢谢你 .
2 回答
我不能't get the above way to work, but I found that it worked when I solely used the provided functionality of Android' s
VideoView
这样:它是10.1v选项卡(运行3.0或3.1)还是运行2.2的“旧”选项卡?
根据这个:http://developer.android.com/guide/appendix/media-formats.html你似乎需要3.0用于H.264 AVC . 即使使用推荐的值,我自己也遇到过H 264的麻烦,不得不进一步降低音量 . 可能值得一试 .