|
|
|
|
@ -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); |
|
|
|
|
|