これを動作させるのに約2時間を費やしたところです。私はMediaPlayer
で再生するビデオを取得することで、決して大したことはありませんでした。私はここで間違って何をしていますか?これは初めての音声を再生し、ビデオは再生しません。そして、2回目に私はIllegalStateException
を取得します。私は再問い合わせしようとします。setDataSource
。私はstop()
とrelease()
をonCompletion
に呼び出しようとしなかった。再生する前にreset()
を呼び出そうとした。私はちょうど別のStateExceptions(0,64,128)を取得しました。私はアイデアを使い果たしました。MediaPlayerビデオの問題
private void playVideo() {
mMediaPlaying = true;
sv.setVisibility(View.VISIBLE); //surfaceview
try {
if(mp.isPlaying()) {
mp.stop();
mp.reset();
}
mp.setDisplay(sh); //surfaceholder
mp.setOnCompletionListener(this);
mp.setOnPreparedListener(this);
mp.setDataSource(getBaseContext(), Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.test));
mp.prepare();
//mp.start();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void onPrepared(MediaPlayer mp) {
Log.d("", "mp prepared");
mp.start();
}
@Override
public void onCompletion(MediaPlayer arg0) {
sv.setVisibility(View.GONE);
mp.stop();
mp.release();
mMediaPlaying = false;
Log.d("", "Done playing media");
}
[OK]を、私は、if(mp.isPlaying())を削除し、(mp.resetを追加しました)、それはオーディオの最初の時間を果たし、第二に(100,0) "エラー(100,0)" – bwoogie