更新时间:2023-12-05 23:20:28
我认为问题在于,当您调用 setProgress() 时,会触发 onProgressChanged 事件.
I think the problem is that when you call the setProgress(), the onProgressChanged event is fired.
监听器(OnSeekBarChangeListener)有一个方法public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser).在这里,您应该测试侦听器是由用户操作还是从代码触发.在您的情况下, fromUser 变量应为 false.
The listener (OnSeekBarChangeListener) have a method public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser). Here you should test if the listener was fired by a user action or from code. In your case, the fromUser variable should be false.
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
if(fromUser){
player.seekTo(x);
}
else{
// the event was fired from code and you shouldn't call player.seekTo()
}
}