我在我的应用程序上播放视频时遇到了这个大问题。我有这个游戏,想在某个地方展示一些视频,但最好的情况是我能听到声音但看不到视频。
这是持有人
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);
正在工作,日志中的所有信息都正确显示,但是我听到了音频但什么也没看到。
谢谢你的帮助,我真的很需要这个。=)