当我使用此代码通过 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;
}
});
最佳答案
onProgressChanged
在 SeekBar 查找过程中多次(频繁)调用。
您必须在 onProgressChanged 调用时保存新的搜索位置作为某个变量,并仅在调用 onStopTrackingTouch()
回调时调用 seekTo(pos)
这意味着搜索过程已完成,您必须调用 MediaPlayer.seekTo(seekPos)
API。
比你寻求过程会变得更顺利,我认为这个问题会消失。
关于android - 使用 Listener for SeekBar 在使用 MediaPlayer 播放时使用暂停/播放更改进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25781882/