我正在制作音频播放器,并希望在播放音频时更新搜索栏。我在线搜索并编写了一个方法来使用runOnUiThread更新它,但 它会在更新搜索栏时停止音乐 。除了使用服务之外,如何解决它。
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
int duration = mp.getCurrentPosition() / 1000;
seekbar.setProgress(duration);
mHandler.postDelayed(this, 1000);
}
});
答案 0 :(得分:1)
你应该这样做
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
int duration = mp.getCurrentPosition() / 1000;
seekbar.setProgress(duration);
mHandler.postDelayed(this,1000);
}
},1000);
答案 1 :(得分:0)
尝试使用Timer,例如:
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
int duration = mp.getCurrentPosition() / 1000;
seekbar.setProgress(duration);
}
}, 1000, 1000);
何时取消
timer.cancel();
timer = null;
答案 2 :(得分:0)
问题是seekBar.setOnSeekBarChangeListener(this);所以把它放在你的AudioControl()方法中......你不要将oncheckchangedlistner设置为你的搜索栏.......