我刚刚花了大约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