我剛剛花了大約2個小時試圖讓這個工作。我從來沒有得到過使用MediaPlayer
播放視頻的好運氣。我在這裏做錯了什麼?它通過第一次播放音頻,沒有視頻。然後第二次,當我嘗試重新登錄IllegalStateException
時,setDataSource
。我試過在撥打電話前已嘗試撥打reset()
來電和release()
。onCompletion
。我只是得到不同的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");
}
好吧,我刪除了,如果(mp.isPlaying()),並添加mp.reset(),並播放音頻的第一次,第二它播放一秒鐘的音頻,然後我得到「媒體服務器死亡」「錯誤(100,0)」「錯誤(100,0)」 – bwoogie 2012-02-24 03:58:44