pull/589/head
FongMi 1 year ago
parent f7cc1ef65e
commit dbb1d39b39
  1. 3
      app/src/main/java/com/fongmi/android/tv/player/Players.java
  2. 12
      app/src/main/java/com/fongmi/android/tv/player/danmaku/Sync.java

@ -168,7 +168,6 @@ public class Players implements Player.Listener, ParseCallback, DrawHandler.Call
public String getUrl() {
return url;
}
public Map<String, String> getHeaders() {
@ -425,7 +424,6 @@ public class Players implements Player.Listener, ParseCallback, DrawHandler.Call
ErrorEvent.drm();
} else {
setMediaItem(result, timeout);
setDanmaku(danmakus = result.getDanmaku());
}
}
@ -469,6 +467,7 @@ public class Players implements Player.Listener, ParseCallback, DrawHandler.Call
private void setMediaItem(Result result, int timeout) {
setMediaItem(result.getHeaders(), result.getRealUrl(), result.getFormat(), result.getDrm(), result.getSubs(), timeout);
setDanmaku(danmakus = result.getDanmaku());
}
private void setMediaItem(Map<String, String> headers, String url, String format, Drm drm, List<Sub> subs, int timeout) {

@ -6,26 +6,26 @@ import master.flame.danmaku.danmaku.model.AbsDanmakuSync;
public class Sync extends AbsDanmakuSync {
private final Players players;
private final Players player;
private long time;
public Sync(Players players) {
this.players = players;
public Sync(Players player) {
this.player = player;
this.time = System.currentTimeMillis();
}
@Override
public long getUptimeMillis() {
return players == null ? 0 : players.getPosition();
return player == null ? 0 : player.getPosition();
}
@Override
public int getSyncState() {
if (players == null) return SYNC_STATE_HALT;
if (player == null) return SYNC_STATE_HALT;
long current = System.currentTimeMillis();
if (current - time < 1000) return SYNC_STATE_HALT;
time = current;
return players.isPlaying() ? SYNC_STATE_PLAYING : SYNC_STATE_HALT;
return player.isPlaying() ? SYNC_STATE_PLAYING : SYNC_STATE_HALT;
}
@Override

Loading…
Cancel
Save