每当我使用mediaPlayer播放mp3时,我都试图让搜索栏更新并显示进度。音乐每次播放都很好,当mp3正在播放时,搜索栏将始终弹到0位置。
我试图按照这个答案,但它不会工作...... SeekBar and media player in android
我在主要活动中有这段代码
private Handler mHandler = new Handler();
MainActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
if (Assets.mediaPlayer != null) {
int mCurrentPosition = Assets.mediaPlayer.getCurrentPosition() / 1000;
if(OnionFragment.seekBar!= null) {
OnionFragment.seekBar.setProgress(mCurrentPosition);
}
}
mHandler.postDelayed(this, 1000);
}
});
在OnionFragment中我有
public static SeekBar seekBar;
seekBar = (SeekBar) rootView.findViewById(R.id.seekBar);
在OnionFragments onclick(播放按钮)中我有
Assets.playMusicFile(MainActivity.items.get(MainActivity.selectedItem).getSongId(), true);
if(Assets.mediaPlayer!=null) {
seekBar.setMax(Assets.mediaPlayer.getDuration());
}
OnionFragment立即加载到MainActivity中,看起来像这样
附:如果有人有额外的时间,我如何改变搜索条球和颜色的大小
答案 0 :(得分:2)
更改
seekBar.setMax(Assets.mediaPlayer.getDuration());
到
seekBar.setMax(Assets.mediaPlayer.getDuration()/1000);