在最新的 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 将调用相应的方法,并通过回调函数通知我们。

在最新的 ExoPlayer 2185 版本中 继承写 AbstractPlayer 时 VideoListener 不见了

原文地址: https://www.cveoy.top/t/topic/bTZz 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录