tv端视频播放解决方案

一、框架选择

这边主要使用谷歌原生框架Exoplayer 。

api 'com.google.android.exoplayer:exoplayer:2.12.2'

二、代码调用

1、单个文件播放
player = new SimpleExoPlayer.Builder(this).build();
standard_video.setPlayer(player);
player.addListener(myPlayListener);
Uri uri = Uri.parse(videoUrl);
MediaItem mediaItem = MediaItem.fromUri(uri);
player.setMediaItem(mediaItem);
player.prepare();
player.setPlayWhenReady(true);

2、多个文件播放

将创建的MediaItem 通过Player的add方法添加进去
player.addMediaItem(mediaItem);

3、实现视频的重播

通过设置RepeatMode

player.setRepeatMode(Player.REPEAT_MODE_ALL);
player.setRepeatMode(Player.REPEAT_MODE_OFF);
player.setRepeatMode(Player.REPEAT_MODE_ONE);

4、自定义播放界面

1:先复制PlayerView的代码修改为

MyExoPlayerView

2:再复制PlayerControlView的代码修改为

MyExoPlayerControlView

3:更改内部的报错 将MyExoPlayerView的内部PlayerControlView的引用改为MyExoPlayerControlView

4:exo_player_control_view.xml新建控制器文件。注意名字不可以更改,因为exoplayer的内部引入就是这个名字

5:将这些view的初始化改为自己xml中的id 

@Nullable private final View previousButton;
@Nullable private final View nextButton;
@Nullable private final View playButton;
@Nullable private final View pauseButton;
@Nullable private final View fastForwardButton;
@Nullable private final View rewindButton;
@Nullable private final ImageView repeatToggleButton;
@Nullable private final ImageView shuffleButton;
@Nullable private final View vrButton;
@Nullable private final TextView durationView;
@Nullable private final TextView positionView;
@Nullable private final TimeBar timeBar;

用不到的可以删除,这个步骤需要细致点,不然会导致出错。

下面附上demo

https://download.csdn.net/download/fighter5211314/14894320

 

 

  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 1
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论 1

打赏作者

Rnwater

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值