MediaPlayer seekTo()从一开始就让音频开始

时间:2014-12-28 12:03:25

标签: android android-mediaplayer

我有一个带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

}

2 个答案:

答案 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);

    }
}