dkplayer 延迟_常见问题 · Doikki/DKVideoPlayer Wiki · GitHub

VideoView定制和MediaPlayer定制

参考demo中ijkVideoView和ExoVideoView实现

控制器定制

继承GestureVideoController,需完全自定义ui,需要手势操作的情形;

继承StandardVideoController,部分自定义的情形,重写相关方法;

使用ControlComponent,参考demo和dkplayer-ui这个库的实现方式。

添加自定义渲染层

VideoView内部有一个mPlayerContainer的FrameLayout,将你的渲染层添加到里面即可,具体可参考弹幕demo

监听播放状态

通过OnVideoViewStateChangeListener接口, 示例如下:

VideoView.addOnVideoViewStateChangeListener(new OnVideoViewStateChangeListener() {

@Override

public void onPlayerStateChanged(int playerState) {

switch (playerState) {

case VideoView.PLAYER_NORMAL://小屏

break;

case VideoView.PLAYER_FULL_SCREEN://全屏

break;

}

}

@Override

public void onPlayStateChanged(int playState) {

switch (playState) {

case VideoView.STATE_IDLE:

break;

case VideoView.STATE_PREPARING:

break;

case VideoView.STATE_PREPARED:

break;

case VideoView.STATE_PLAYING:

break;

case VideoView.STATE_PAUSED:

break;

case VideoView.STATE_BUFFERING:

break;

case VideoView.STATE_BUFFERED:

break;

case VideoView.STATE_PLAYBACK_COMPLETED:

break;

case VideoView.STATE_ERROR:

break;

}

}

});

本地视频播放

前提:拥有存储权限,示例如下:

String path = Environment.getExternalStorageDirectory().getAbsolutePath();

String url = "file://" + path + File.separator + "test.mp4";

videoView.setUrl(url);

给IjkPlayer设置option

参考demo中IjkVideoView的实现

IjkPlayer自编译so

IjkPlayer常见问题汇总

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值