Android 音乐播放器进度条对映mp3播放进度,formatTime代码实现
时间: 2023-10-07 10:13:26 浏览: 253
android实现音乐播放器进度条效果
实现思路:
1. 获取音乐播放器的当前播放进度;
2. 获取音乐文件的总时长;
3. 将当前播放进度和总时长转换为可读的时间格式;
4. 在 UI 上展示进度条和时间。
代码实现:
```java
/**
* 将毫秒时间格式转换为可读的时间格式
*
* @param time 毫秒时间
* @return 可读的时间格式,如:00:00
*/
public String formatTime(int time) {
int totalSeconds = time / 1000;
int minutes = totalSeconds / 60;
int seconds = totalSeconds % 60;
return String.format(Locale.getDefault(), "%02d:%02d", minutes, seconds);
}
/**
* 更新进度条和时间显示
*
* @param mediaPlayer 音乐播放器
* @param seekBar 进度条
* @param timeTextView 时间显示控件
*/
public void updateProgress(MediaPlayer mediaPlayer, SeekBar seekBar, TextView timeTextView) {
seekBar.setMax(mediaPlayer.getDuration());
seekBar.setProgress(mediaPlayer.getCurrentPosition());
timeTextView.setText(formatTime(mediaPlayer.getCurrentPosition()) + " / " + formatTime(mediaPlayer.getDuration()));
handler.postDelayed(new Runnable() {
@Override
public void run() {
updateProgress(mediaPlayer, seekBar, timeTextView);
}
}, 1000);
}
```
在调用 `updateProgress()` 方法时,传入音乐播放器、进度条和时间显示控件即可实现进度条和时间的同步更新。
阅读全文