2012-05-22 134 views
0

有下面的代碼運行的MP3播客Android的媒體播放器MP3的另一輪流式音頻

public void playPodcast(final Uri data){ 
      new Thread (new Runnable(){ 
       public void run() { 
        if(!mediaPlayer.isPlaying()){ 
         try { 
          mediaPlayer.setDataSource(getApplicationContext(), data); 
         } 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(); 
         } 
         try { 
          mediaPlayer.prepare(); 
         } catch (IllegalStateException e) { 
          // TODO Auto-generated catch block 
          e.printStackTrace(); 
         } catch (IOException e) { 
          // TODO Auto-generated catch block 
          e.printStackTrace(); 
         } 
         mediaFileLengthInMilliseconds = mediaPlayer.getDuration(); 
         duracaoPodcast = mediaPlayer.getDuration(); 

         mediaPlayer.start(); 


         if(!(controlTimer >= 1)){ 
          timer(); 
          controlTimer++; 
         } 

         primarySeekBarProgressUpdater(); 


       } 
       } 
      }).start(); 
     } 

,並關閉用戶意圖有:

voltar.setOnClickListener(new View.OnClickListener() { 
       public void onClick(View v) { 
        finish(); 
        mediaPlayer.stop(); 
       } 
      }); 

出現問題時,用戶關閉的意圖,所有的返回按鈕手機與Android是因爲它沒有:

finish(); 
mediaPlayer.stop(); 

只使:

finish(); 

等音頻仍在播放,即使我回到那個意圖暫停:

stop.setOnClickListener(new View.OnClickListener() { 

      public void onClick(View v) { 
       if(mediaPlayer.isPlaying()){ 
        mediaPlayer.stop(); 
        frame.setVisibility(View.INVISIBLE); 

       } 

      } 
     }); 

按鈕不起作用,如果我按播放他就開始一個新的音頻頂部那個空着玩,

任何想法如何解決?

+0

閱讀這裏:http://stackoverflow.com/questions/2590947/about-finish-in-android並改變finish()和stop()指令的位置。我調用方法finish()時調用 – rosco

+0

;返回到上一個活動的按鈕正常工作,正如您在我的帖子中看到的「voltar.setOnclickListener」,問題是當用戶沒有回來查看我的按鈕,而是返回本地的android。 – jucajl

回答

0

mediaPlayer.stop();在活動onStop()方法據我瞭解你的問題。

+0

不太明白你的答案,你告訴我把mediaPlayer.stop()放在onStop()中,但是這是什麼onStop()?一個方法?我有mediaPlayer.stop stop();正如你在我的文章中看到的,它完美地工作,除非用戶按下按鈕以使用android返回所有電話是因爲按鈕關閉了活動的活動,並且當我返回時就好像MediaPlayer已停止一樣,因爲活動從零開始。 – jucajl

+0

只是瞭解活動的生命週期 – jucajl