2017-07-03 134 views
0

我正在播放一個歌詞線程,並且我想在用戶點擊暫停按鈕時暫停該線程,該變量在activity生命週期的onPause()方法中被賦值爲假值。現在,如果我試圖在詩歌中間暫停線程並恢復它,那麼它應該從我離開的位置開始,但是它從第一行開始,而不是從我離開的位置開始。當計數器爲0時,通過將布爾變量(ringa_thread_running)設置爲false來停止線程。 現在當我按下按鈕恢復線程時,它不起作用,而顯示的行/歌詞固定在屏幕上。線程暫停/恢復問題

另外resume()針對線程的方法已被棄用。這裏start()方法不能用,當我試着用start方法的時候,它給出了致命錯誤:線程已經啓動了。

以下是我的代碼。

pause.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      if (counter == 0) { 
       ringa_thread_running=false; 
       pause.setImageResource(R.drawable.play); 
       counter = 1; 
      } else if (counter == 1) { 
       ringa_thread_running=true; 
       lyrics_ring.resume(); 
       pause.setImageResource(R.drawable.pause); 
       counter = 0; 
      } 
     } 
    }); 

回答

0

嘗試睡眠線程來執行,然後使用通知來喚醒

+0

它沒有爲我工作,我想這爲我工作的另一種方法。 –

+0

你能分享嗎?可能對我也有用。 –

+0

您好, 我無法在這裏發表評論,代碼超過了提到的字數限制。聲音問題已得到解決,但文字問題仍然存在,無法與聲音同步。 –