在最新的 ExoPlayer 2.18.5 版本中,可以通过继承 SimpleExoPlayer 实现自定义的 AbstractPlayer,然后重写其中的方法来监听播放事件。

具体实现步骤如下:

  1. 创建一个继承 SimpleExoPlayer 的类,如 MyExoPlayer。
public class MyExoPlayer extends SimpleExoPlayer {
    // 实现自定义的 AbstractPlayer
}
  1. 在 MyExoPlayer 中重写需要监听的方法,如 onPlayerStateChanged() 和 onPlaybackStateChanged()。
public class MyExoPlayer extends SimpleExoPlayer {
    // ...

    @Override
    public void onPlayerStateChanged(boolean playWhenReady, int playbackState) {
        super.onPlayerStateChanged(playWhenReady, playbackState);
        // 处理播放状态变化事件
    }

    @Override
    public void onPlaybackStateChanged(int playbackState) {
        super.onPlaybackStateChanged(playbackState);
        // 处理播放器状态变化事件
    }

    // ...
}
  1. 在需要使用 MyExoPlayer 的地方,创建实例并设置监听器。
MyExoPlayer player = new MyExoPlayer.Builder(context).build();
player.addListener(new Player.EventListener() {
    @Override
    public void onPlayerStateChanged(boolean playWhenReady, int playbackState) {
        // 处理播放状态变化事件
    }

    @Override
    public void onPlaybackStateChanged(int playbackState) {
        // 处理播放器状态变化事件
    }
});

通过这样的方式,就可以自定义 AbstractPlayer 并监听播放事件了。

ExoPlayer 2.18.5 自定义播放器并监听事件

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

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