源代码如下private String uri="http://112.253.22.157/17/z/z/y/u/zzyuasjwufnqerzvyxgkuigrkcatxr/hc.yinyuetai.com   /D046015255134077DDB3ACA0D7E68D45.flv";@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    surfaceView = (SurfaceView) findViewById(R.id.surfaceView);
    mediaPlayer = new MediaPlayer();
    //获取SurfaceHolder 可以通过该接口来操作SurfaceView中的Surface
    SurfaceHolder surfaceHolder = surfaceView.getHolder();
    //设置Meiaplayer的准备监听
    mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
        @Override
        public void onPrepared(MediaPlayer mp) {
            //准备完成后播放
            mediaPlayer.start();
        }
    });
    surfaceHolder.addCallback(new SurfaceHolder.Callback() {
        //当SurfaceView中Surface创建时回掉
        //该方法表示Surface已经创建完成,可以在该方法中进行绘图操作
        @Override
        public void surfaceCreated(SurfaceHolder holder) {
            mediaPlayer.reset();
            try {
                //设置视屏文件图像的显示参数
                mediaPlayer.setDisplay(holder);
                holder.setFixedSize(100,100);
                //file.getAbsolutePath()本地视频
                //uri 网络视频
                mediaPlayer.setDataSource(MainActivity.this, Uri.parse(uri));
                //prepare();表示准备工作同步进行,(准备工作在UI线程中进行)
                //当播放网络视频时,如果网络不要 会报ARN 所以不采用该方法
                //mediaPlayer.prepare();
                //异步准备 准备工作在子线程中进行 当播放网络视频时候一般采用此方法
                mediaPlayer.prepareAsync();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }        //当SurfaceView的大小发生改变时候触发该方法
        @Override
        public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {        }
        //Surface销毁时回掉
        //当Surface销毁时候,同时把MediaPlayer也销毁
        @Override
        public void surfaceDestroyed(SurfaceHolder holder) {
            if (mediaPlayer!=null) {
                mediaPlayer.stop();
                //释放资源