在我的应用上播放视频时遇到了这个大问题。 我有这个游戏,想在某个地方播放一些视频,但在最好的情况下,我可以听到声音,但看不到视频。
这是持有人
public void surfaceCreated(SurfaceHolder holder) {
level.playerholder = holder;
gameLoopThread.setRunning(true);
renderLoopThread.setRunning(true);
gameLoopThread.start();
renderLoopThread.start();
}
这是媒体播放器的创建,应该显示视频
while(!playerholder.isCreating());
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setDisplay(playerholder);
switch(startVideo){
case 1:
try {
mediaPlayer.setDataSource(context,Uri.parse("android.resource://com.getfun.treevolve/raw/getfunvideo"));
mediaPlayer.prepare();
} catch (IllegalArgumentException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (SecurityException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IllegalStateException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
break;
}
Log.d("player", "Sec: " + Integer.toString(mediaPlayer.getDuration()));
Log.d("player", "Video width: " + Integer.toString(mediaPlayer.getVideoWidth()));
mediaPlayer.start();
使用此设置,我的日志只显示0.就像视频错误一样。 如果在第二行我删除了持有人
mediaPlayer.setDisplay(playerholder);
正在运行,日志中的所有信息都正确显示但是,我听到了音频但看不到任何内容。
感谢您的帮助,我真的需要这个。 =)