Fix danmaku not release

fongmi
FongMi 4 days ago
parent d5abe47911
commit ba09627ed0
  1. 8
      app/src/main/java/com/fongmi/android/tv/player/PlayerManager.java

@ -61,6 +61,7 @@ public class PlayerManager implements ParseCallback {
public void release() {
App.removeCallbacks(runnable);
releaseDanmakuController();
if (engine == null) return;
player.removeListener(listener);
engine.release();
@ -224,6 +225,7 @@ public class PlayerManager implements ParseCallback {
}
public void setDanmakuController(DanmakuController controller) {
releaseDanmakuController();
danmakuController = controller;
danmakuController.setOkHttpClient(OkHttp.player());
danmakuController.setConfig(DanmakuSetting.getConfig());
@ -388,6 +390,12 @@ public class PlayerManager implements ParseCallback {
else danmakuController.setDataSource(Uri.parse(item.getRealUrl()));
}
private void releaseDanmakuController() {
if (danmakuController == null) return;
danmakuController.release();
danmakuController = null;
}
public void addDanmaku(Danmaku item) {
if (danmakuController == null || item.isEmpty()) return;
if (spec != null) spec.addDanmaku(item);

Loading…
Cancel
Save