我如何使用线程每秒更新 Seekbar mp3 进度?(code/pics 包括)Android
How do i update Seekbar mp3 progress every second with a thread?(code/pics included) Android
我试图让搜索栏在我使用 mediaPlayer 播放 mp3 时更新并显示进度。每次播放音乐都很好,播放mp3时seekbar会一直卡到0位置
我试图遵循这个答案,但它不起作用...SeekBar and media player in android
我在主程序中有这段代码activity
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 中,如下所示
P.S。如果有人有多余的时间,我该如何更改搜索栏球的大小和颜色
改变
seekBar.setMax(Assets.mediaPlayer.getDuration());
到
seekBar.setMax(Assets.mediaPlayer.getDuration()/1000);
我试图让搜索栏在我使用 mediaPlayer 播放 mp3 时更新并显示进度。每次播放音乐都很好,播放mp3时seekbar会一直卡到0位置
我试图遵循这个答案,但它不起作用...SeekBar and media player in android
我在主程序中有这段代码activity
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 中,如下所示
改变
seekBar.setMax(Assets.mediaPlayer.getDuration());
到
seekBar.setMax(Assets.mediaPlayer.getDuration()/1000);