当我使用此代码通过SeekBar控制MediaPlayer MediaPlayer不会继续播放。
1:玩
0:暂停
播放就像这样!
11110001110011
问题是什么?
代码:
sb_song.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar arg0) {
// TODO Auto-generated method stub
mp_qiraat.start();
}
@Override
public void onStartTrackingTouch(SeekBar arg0) {
// TODO Auto-generated method stub
mp_qiraat.pause();
}
@Override
public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) {
// TODO Auto-generated method stub
mp_qiraat.seekTo(arg1);
}
});
tb_play_qiraat.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View arg0) {
vib.vibrate(80);
mp_qiraat.reset();
mp_qiraat.stop();
rl_media.setVisibility(View.INVISIBLE);
return false;
}
});
答案 0 :(得分:1)
onProgressChanged
在SeekBar搜索过程中多次(经常)调用。
当onProgressChanged被称为某个变量时,必须保存新的搜索位置,并且只有在调用seekTo(pos)
回调时才调用onStopTrackingTouch()
,这意味着搜索过程已完成且您必须调用MediaPlayer.seekTo(seekPos)
API。
比你寻求的过程会变得更加顺畅,我认为这个问题会消失。