我有一个带SeekBar的音频
我想要做的是将搜索栏拖到cretin位置,使媒体使用seekTo(位置)前进到该位置
但是发生的事情是mediaPlayer从头开始启动音频
这是我的代码
AudioSeekBar = (SeekBar) view.findViewById(R.id.ViewPagerAudioSeekBar);
AudioSeekBar.setMax(99);
AudioSeekBar.setOnSeekBarChangeListener(this);
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
// TODO Auto-generated method stub
if (fromUser) {
mediaPlayer.seekTo(progress);
} else {
}
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
答案 0 :(得分:0)
在文档中指定seekTo参数是你要跳转的ms,所以我想要做的是:
mediaPlayer.seekTo(progress*mediaPlayer.getDuration());
http://developer.android.com/reference/android/media/MediaPlayer.html#seekTo(int)
答案 1 :(得分:0)
我这样解决它并且工作正常
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
if (mediaPlayer.isPlaying()) {
int playPositionInMillisecconds = (MediaFileLengthInMilliseconds / 100)
* seekBar.getProgress();
mediaPlayer.seekTo(playPositionInMillisecconds);
}
}