ExoPlayer 2.18.5 自定义播放器并监听事件
在最新的 ExoPlayer 2.18.5 版本中,可以通过继承 SimpleExoPlayer 实现自定义的 AbstractPlayer,然后重写其中的方法来监听播放事件。
具体实现步骤如下:
- 创建一个继承 SimpleExoPlayer 的类,如 MyExoPlayer。
public class MyExoPlayer extends SimpleExoPlayer {
// 实现自定义的 AbstractPlayer
}
- 在 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);
// 处理播放器状态变化事件
}
// ...
}
- 在需要使用 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 并监听播放事件了。
原文地址: https://www.cveoy.top/t/topic/nhPL 著作权归作者所有。请勿转载和采集!