sur*_*dra 6 android media-player
我正在尝试使用给定列表中的MediaPlayer播放一首歌.我希望包括歌曲从开始到结束歌曲的持续时间.如何添加时间以及如何将该时间从0:00更新到该歌曲的结尾
key*_*ser 19
您可以使用getCurrentPosition()以毫秒为单位提供当前位置的方法.
您还可以使用该方法getDuration()获取歌曲的全长.
您可以使用单独的线程来更新计时器.
Mic*_*cer 10
为了显示播放时间,我使用了Timer和TimerTask,它TextView tv每1000ms 更新一次.请注意,不使用tv.post(Runnable操作)在Text View中设置文本不会阻止UI线程并可能导致问题.
if (player != null) {
player.start();
timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
if (player != null && player.isPlaying()) {
tv.post(new Runnable() {
@Override
public void run() {
tv.setText(player.getCurrentPosition());
}
});
} else {
timer.cancel();
timer.purge();
}
}
});
}
}, 0, 1000);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15337 次 |
| 最近记录: |