更新搜索栏会在播放音频时停止音频

时间:2016-06-28 06:55:43

标签: android audio media

我正在制作音频播放器,并希望在播放音频时更新搜索栏。我在线搜索并编写了一个方法来使用runOnUiThread更新它,但 它会在更新搜索栏时停止音乐 。除了使用服务之外,如何解决它。

 getActivity().runOnUiThread(new Runnable() {
                                @Override
                                public void run() {
                                int duration = mp.getCurrentPosition() / 1000;
                                seekbar.setProgress(duration);
                                    mHandler.postDelayed(this, 1000);
                                }
                            });

3 个答案:

答案 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;

More info about Timer

答案 2 :(得分:0)

问题是seekBar.setOnSeekBarChangeListener(this);所以把它放在你的AudioControl()方法中......你不要将oncheckchangedlistner设置为你的搜索栏.......