ExoPlayer 2.14.1中Player.EventListener已废弃,如何改用Player.Listener?
ExoPlayer 2.14.1 废弃
Player.EventListener替换方案 直接将原有代码中回调接口从Player.EventListener替换为官方推荐的Player.Listener即可,回调方法的签名、逻辑都无需调整,修改后的代码如下:
simpleExoPlayer.addListener(new Player.Listener() { @Override public void onPlaybackStateChanged(int state) { if (state == simpleExoPlayer.STATE_READY) { aspectRatioFrameLayout.setAspectRatio(16f / 9f); } else { playerView.hideController(); } } });
补充说明
- 两个接口的回调方法定义完全一致,原有业务逻辑不需要做任何改动
- 该写法同时兼容2.14.1及以上所有版本的ExoPlayer,后续升级版本不需要再次调整
- 如果你需要监听其他播放事件,直接在
Player.Listener实现中重写对应方法即可,用法和旧接口完全相同 - Kotlin开发场景下可以直接用SAM语法简化代码,无需手动编写匿名内部类
内容的提问来源于stack exchange,提问作者Ganesh MB
相关产品推荐
相关产品推荐

