下面是代码:
/* 获取系统默认的视频与声音服务+surfaceView */
private void initViews() {
// TODO Auto-generated method stub
mediaPlayer = new MediaPlayer();
audioManager = (AudioManager) getSystemService(AUDIO_SERVICE); surfaceView.getHolder().addCallback(new MySuSurfaceCallback());
} private final class MySuSurfaceCallback implements SurfaceHolder.Callback { /* 创建画面 */
public void surfaceCreated(SurfaceHolder holder) {
// TODO Auto-generated method stub
//播放视频
if(position>0){
playMedia();
}
} /* 修改 */
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
// TODO Auto-generated method stub } /* 销毁 */
public void surfaceDestroyed(SurfaceHolder holder) {
// TODO Auto-generated method stub
// 停止播放
if(mediaPlayer!=null&&mediaPlayer.isPlaying()){
mediaPlayer.stop();
}
//销毁 
mediaPlayer.release();
} } /*播放视频*/
private void playMedia() {
//从sdcard取视频文件
File file = new File(Environment.getExternalStorageDirectory(),"mich.3gp");
    /**
     * Resets the MediaPlayer to its uninitialized state. After calling
     * this method, you will have to initialize it again by setting the
     * data source and calling prepare().
     */
mediaPlayer.reset();
//声音类型
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
//mnt/sdcard/mich.3gp
try {
mediaPlayer.setDataSource(file.getAbsolutePath());
//视频输出
mediaPlayer.setDisplay(surfaceView.getHolder());
//缓冲
mediaPlayer.prepare();
//贞定位
mediaPlayer.seekTo(position);
//播放
mediaPlayer.start();

position=0;
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}