title: The surface has been released when I try to setDisplay to MediaPlayer
body: <p>My xml file:</p>
  
  <pre><code>&lt;SurfaceView
      android:id="@+id/surfaceView"
      android:layout_marginTop="50dp"
      android:layout_width="fill_parent"
      android:layout_height="300dp" /&gt;
  </code></pre>
  
  <p>My function to setDisplay:</p>
  
  <pre><code>public void playVideo() {
      MediaPlayer mp = new MediaPlayer();
      SurfaceView sv = (SurfaceView) this.findViewById(R.id.surfaceView);
      try {
          mp.setDataSource("sdcard/test/a.3gp");
          SurfaceHolder sh = sv.getHolder();
          mp.setDisplay(sh);***----the exception occured here***
          mp.prepare();
          mp.start();
      } catch (IllegalArgumentException e) {
          e.printStackTrace();
      } catch (SecurityException e) {
          e.printStackTrace();
      } catch (IllegalStateException e) {
          e.printStackTrace();
      } catch (IOException e) {
          e.printStackTrace();
      }
  }
  </code></pre>
  
  <p>the log as below:</p>
  
  <pre><code>04-24 22:19:33.645: W/System.err(16106): java.lang.IllegalArgumentException: The surface has been released
  04-24 22:19:33.645: W/System.err(16106):    at android.media.MediaPlayer._setVideoSurface(Native Method)
  04-24 22:19:33.645: W/System.err(16106):    at android.media.MediaPlayer.setDisplay(MediaPlayer.java:698)
  </code></pre>
  
  <p>I have found some similar questions here, but all of those are not suit for me. Waiting for your answers. Thanks very much.</p>