我正在使用SeekBar来显示音频文件的进度并寻找确定的时间。为了更新,我使用一个Runnable,在大约每秒钟调用一次MediaPlayer的getCurrentPosition()方法。每次调用时,都会有一点音频延迟。由于我经常调用它,所以在播放时会出现非常明显的卡顿。如果相关的话,我正在使用setAudioStreamType(AudioManager.STREAM_MUSIC),文件格式是mp4带有AAC音频(没有视频),我正在使用Android 2.3.4。是否有办法与getCurrentPosition()获得良好的音频效果,或者我必须实现自己的进度计算?
该Runnable:
该Runnable:
private Runnable mUpdateTask = new Runnable(){
@Override
public void run() {
mSeekBar.setProgress((int) (mPlayer.getCurrentPosition() * 100 / mArrayAdapter.getRecording(mPlayingId).mDuration));
mHandler.postDelayed(mUpdateTask, 999);
}
};