2017-07-03 145 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

您好, 我无法在这里发表评论,代码超过了提到的字数限制。声音问题已得到解决,但文字问题仍然存在,无法与声音同步。 –