|
|
|
|
@ -82,7 +82,7 @@ public class Players implements Player.Listener, IMediaPlayer.Listener, Analytic |
|
|
|
|
private int retry; |
|
|
|
|
private int decode; |
|
|
|
|
private int player; |
|
|
|
|
private long lastDanmuUpdate; |
|
|
|
|
private float speed; |
|
|
|
|
|
|
|
|
|
public static boolean isExo(int type) { |
|
|
|
|
return type == EXO; |
|
|
|
|
@ -287,6 +287,7 @@ public class Players implements Player.Listener, IMediaPlayer.Listener, Analytic |
|
|
|
|
public String setSpeed(float speed) { |
|
|
|
|
if (exoPlayer != null) exoPlayer.setPlaybackSpeed(speed); |
|
|
|
|
if (ijkPlayer != null) ijkPlayer.setSpeed(speed); |
|
|
|
|
this.speed = speed; |
|
|
|
|
return getSpeedText(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -671,11 +672,7 @@ public class Players implements Player.Listener, IMediaPlayer.Listener, Analytic |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void updateTimer(DanmakuTimer timer) { |
|
|
|
|
long timestamp = System.currentTimeMillis(); |
|
|
|
|
if (lastDanmuUpdate <= 0 || (timestamp - lastDanmuUpdate) > 300) { |
|
|
|
|
App.post(() -> timer.update(getPosition())); |
|
|
|
|
lastDanmuUpdate = timestamp; |
|
|
|
|
} |
|
|
|
|
if (speed != 1) timer.add((long) (timer.lastInterval() * (speed - 1))); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|