在最新的 ExoPlayer 2185 版本中 继承写 AbstractPlayer 时 VideoListener 不见了
在最新的 ExoPlayer 2.18.5 版本中,VideoListener 接口已经被弃用,并被替换为 VideoListener.EventListener 接口。如果您需要监听视频播放事件,您需要继承 SimpleExoPlayer 和 VideoListener.EventListener 接口,并重写相应的方法。例如:
public class CustomPlayer extends SimpleExoPlayer implements VideoListener.EventListener {
...
@Override
public void onVideoSizeChanged(int width, int height, int unappliedRotationDegrees, float pixelWidthHeightRatio) {
// 视频大小改变时回调
}
@Override
public void onRenderedFirstFrame() {
// 第一帧渲染完成时回调
}
...
}
然后,您可以使用 CustomPlayer 来播放视频,并监听视频播放事件。例如:
CustomPlayer player = new CustomPlayer.Builder(context).build();
player.setVideoListener(this);
player.prepare(mediaSource);
player.setPlayWhenReady(true);
在这个例子中,我们将 CustomPlayer 实例的 VideoListener 设置为当前类对象,并在 prepare() 之后,使用 setPlayWhenReady() 方法来开始播放视频。当视频大小改变或第一帧渲染完成时,CustomPlayer 将调用相应的方法,并通过回调函数通知我们。
原文地址: https://www.cveoy.top/t/topic/bTZz 著作权归作者所有。请勿转载和采集!