アプリでビデオを再生する際に大きな問題があります。私はこのゲームを持っていて、どこかでビデオを見せたかったのですが、最良の場合、音は聞こえるがビデオは見えません。
これがホルダー
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 しか表示されません。ビデオが間違っているようです。2行目でホルダーを削除した場合
mediaPlayer.setDisplay(playerholder);
ログ内のすべての情報は正しく表示されていますが、音声は聞こえますが何も表示されません。
助けてくれてありがとう、私は本当にこれが必要です。=)