【发布时间】:2014-03-18 10:27:41
【问题描述】:
我正在我的应用程序中播放不同大小的音频文件,并且在播放音频时进度条应该会顺利进行,但进度条会采用随机大小的步骤。
我正在使用以下代码:
mp = new MediaPlayer();
mp.setDataSource("audio file path");
mp.prepare();
mp.start();
pb.setMax(mp.getDuration());
new AsyncTask<Void, Integer, Void>() {
@Override
protected Void doInBackground(Void... params) {
while(mp.isPlaying())
{
publishProgress(mp.getCurrentPosition);
}
return null;
}
protected void onProgressUpdate(Integer... progress) {
pb.setProgress(progress[0]);
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
mp.stop();
mp.release();
}
}.execute();
有什么办法可以平滑地增加进度条吗?
【问题讨论】:
-
平滑增加进度条的关键是将其值增加1直到播放音频,并且不依赖于MediaPlayer.getCurrentPosition()方法。
标签: android android-progressbar