Exoplayer+Exomedia之玩转视频播放事件监听

本文详细介绍了如何在Android开发中,结合Exoplayer和Exomedia库实现视频播放事件监听,包括播放器状态变化、进度条拖拽等。通过实现接口、设置监听,以及对不同监听类的详细说明,如ExoPlayerListener和控制器监听类,提供了具体的代码示例和注意事项。
摘要由CSDN通过智能技术生成

说明

  • 视频播放事件包括两个部分:1.播放器本身的事件(开始、暂停、结束播放等) 2.用户动作触发的事件(拖拽进度条、点击屏幕等)
  • 播放事件监听的途径主要是通过视频播放框架(或开发者自定义)的控制器来实现的。
  • 控制器是指操作播放器的组件(按钮、进度条等)的容器。
  • 事件的监听经常与视频当前时间配合使用。
  • 本文基于Exoplayer+Exomedia实现视频事件监听。

关键点

VideoView与视频时间、播放进度相关的主要方法。

  1. 获取视频当前时间
long getCurrentPosition()
  1. 获取视频总时长
long getDuration()
  1. 控制播放进度
void seekTo(long millis)

实现接口

包含VideoView的Activity请实现接口,全部接口及回调如下所示,实际使用中请挑选所需接口实现(若有遗漏请谅解).

public class XunshiVideoDemoActivity extends AppCompatActivity 
        implements 
        ExoPlayerListener,
        VideoControlsSeekListener,
        VideoControlsButtonListener,
        VideoControlsVisibilityListener,
        OnCompletionListener,
        OnPreparedListener,
        OnBufferUpdateListener {

    @Override
    public void onStateChanged(boolean playWhenReady, int playbackState) {
        
    }

    @Override
    public void onError(ExoMediaPlayer exoMediaPlayer, Exception e) {

    }

    @Override
    public void onVideoSizeChanged(int width, int height, int unAppliedRotationDegrees, float pixelWidthHeightRatio) {

    }

    @Override
    public void onBufferingUpdate(@IntRange(from = 
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值