mediaplayer与surfaceView,无法播放问题

时间:2023-03-09 14:44:47
mediaplayer与surfaceView,无法播放问题

 mediaplayer需要在surfaceView创建之后才能创建,不然会导致错误。

 surfaceholder = msurface.getHolder();
surfaceholder.setKeepScreenOn(true);
surfaceholder.addCallback(new SurfaceViewLis());
 private class SurfaceViewLis implements SurfaceHolder.Callback {  

         @Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) { } @Override
public void surfaceCreated(SurfaceHolder holder) {
mPlayer = MediaPlayer.create(AnimationGuideActivity.this, R.raw.guideanimation);
mPlayer.setDisplay(holder);
mPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { @Override
public void onCompletion(MediaPlayer arg0) {
// TODO Auto-generated method stub
Intent intent = new Intent(AnimationGuideActivity.this, IrisActivity.class);
finish();
startActivity(intent);
}
}); try {
mPlayer.setOnPreparedListener(new OnPreparedListener() { @Override
public void onPrepared(MediaPlayer arg0) {
mPlayer.start(); }
});
mPlayer.prepareAsync();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} } @Override
public void surfaceDestroyed(SurfaceHolder holder) { } }