title: Service not able to run twice
body: <p>I am making a music player with a service but when i click a song in the music list, the music starts with no errors, but if i go back to the list and click another i get <code>Attempt to call getDuration without a valid mediaplayer error (-38, 0)</code></p>
  
  <p>My onStart method in the service:</p>
  
  <pre><code>@Override
  public void onStart(final Intent i, int startid) {
      Log.d(TAG, "Start music");
  
      re = 0;
  
      songUrl = i.getData().toString();
  
      streamMusic = new Thread() {
          public void run() {
              Looper.prepare();
              try {
                  re = 1;
                  music.reset();
                  music.setDataSource(songUrl);
                  music.prepare();
  
                  this.interrupt();
  
              } catch (Exception e) {
                  e.printStackTrace();
              }
          }
      };
      streamMusic.start();
  
  }
  </code></pre>
  
  <p>I start the service with <code>startService(i);</code> and I have set a <code>music.setOnPreparedListener</code> so nothing is runned to early.</p>
  
  <p>How do I make it work?</p>