2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 根据音乐播放进度实时更新音乐播放器播放进度条

根据音乐播放进度实时更新音乐播放器播放进度条

时间:2020-05-16 01:47:57

相关推荐

根据音乐播放进度实时更新音乐播放器播放进度条

首先要知道 进度条和Toast是可以在子线程跟新和显示的,因为他们做了内部处理(用handle把信息传递到主线程,在主线程更新,感兴趣的去搜一下)。

具体思路是:

首先,定义一个接口(不要定义内部接口)用来更新seekbar,代码如下

public interfaceInitplayingPop {

voidinitPlayingPop(intprogress);

}

然后,在服务定义一个不断执行的子线程去得到当前音乐的播放时间,并且执行这个接口(在接口不为null的情况下),代码如下

classSeekBarThreadimplementsRunnable {@Overridepublic voidrun() {inti = 5;while(i > 0) {try{intcurrentMent = (int)getCurrentTime();if(initplayingPop!=null) {initplayingPop.initPlayingPop(currentMent);}Thread.sleep(500);

}}catch(InterruptedException e) {e.printStackTrace();}}Log.w(TAG,"run:子线程开始");}}

然后在主界面实现该接口,并把该接口给服务,完成接口回调,代码如下

musicService.setInitplayingPop(newInitplayingPop() {@Overridepublic voidinitPlayingPop(intprogress) {popWinPlaying.setProgressToSeekBar(progress);}});

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。