功能:进入一个activity,使用MediaPlayer和SurfaceView类来播放视频,启动activity时,直接初始化做MediaPlayer.start(),而不是通过一个监听器什么的来启动,就会出现:The surface has been released. 错误位置:mediaplayer.setDisplay(surfaceView.getHost()); 原因:mediaPlayer对象没有做好准备。 为什么?想想,如果你做一个监听,那么,视频就不是直接播放了,他有充分时间做准备了,就不会有错误了。 解决方法:写一个通过一个ScheduledExecutorService和Handler类来解决。看代码,不多。[mw_shl_code=java,true]import android.view.SurfaceView;