全部产品
云市场

视频播放

更新时间:2020-02-13 20:08:28

一、秒播解决方案说明

趣视频演示全屏秒播方案,具体方案参见如何用阿里云播放器快速实现全屏秒开

二、如何快速接入秒播方案

步骤1.文件导入

  • 复制AlivcLittleVideo模块com/aliyun/apsara/alivclittlevideo/view/video/videolist包中的代码和相关资源文件趣视频播放复制文件

步骤2.引入包和build.gradle设置

  • build.gradle中添加dependencies配置

    1. dependencies {
    2. implementation fileTree(dir: 'libs', include: ['*.jar'])
    3. //...
    4. // 播放器
    5. api externalPlayerPart
    6. }

步骤3.如何使用

  1. 通过addView的方式,把AlivcVideoListView实例化对象添加到页面中。示例代码如下:

    1. /**
    2. * 初始化视频列表
    3. */
    4. private void initPlayListView() {
    5. videoListView = new AlivcVideoListView(context);
    6. //创建adapter,需要继承BaseVideoListAdapter
    7. final LittleVideoListAdapter adapter = new LittleVideoListAdapter(context);
    8. //给AlivcVideoListView实例化对象添加adapter
    9. videoListView.setAdapter(adapter);
    10. videoListView.setVisibility(VISIBLE);
    11. //设置sdk播放器实例化对象数量
    12. videoListView.setPlayerCount(3);
    13. //设置下拉、上拉监听进行加载数据
    14. videoListView.setOnRefreshDataListener(new AlivcVideoListView.OnRefreshDataListener() {
    15. @Override
    16. public void onRefresh() {
    17. if (onRefreshDataListener != null) {
    18. onRefreshDataListener.onRefresh();
    19. }
    20. }
    21. @Override
    22. public void onLoadMore() {
    23. if (onRefreshDataListener != null) {
    24. onRefreshDataListener.onLoadMore();
    25. }
    26. }
    27. });
    28. //设置视频缓冲监听
    29. videoListView.setLoadingListener(new IAliyunVodPlayer.OnLoadingListener() {
    30. @Override
    31. public void onLoadStart() {
    32. controlView.updateLoadingView(true);
    33. }
    34. @Override
    35. public void onLoadEnd() {
    36. controlView.updateLoadingView(false);
    37. }
    38. @Override
    39. public void onLoadProgress(int i) {
    40. }
    41. });
    42. //设置鉴权过期监听,刷新鉴权信息
    43. videoListView.setTimeExpiredErrorListener(new IAliyunVodPlayer.OnTimeExpiredErrorListener() {
    44. @Override
    45. public void onTimeExpiredError() {
    46. if (mTimeExpiredErrorListener!=null){
    47. mTimeExpiredErrorListener.onTimeExpiredError();
    48. }
    49. }
    50. });
    51. //添加到布局中
    52. addSubView(videoListView);
    53. }
  2. 设置播放数据
  • 刷新播放数据,示例代码:
    1. /**
    2. * 刷新视频列表数据
    3. *
    4. * @param datas
    5. */
    6. public void refreshVideoList(List<AlivcVideoInfo.Video> datas) {
    7. List<IVideoSourceModel> videoList = new ArrayList<>();
    8. videoList.addAll(datas);
    9. videoListView.refreshData(videoList);
    10. //取消加载loading
    11. controlView.updateLoadingView(false);
    12. }
  • 添加播放数据,示例代码:

    1. /**
    2. * 添加更多视频
    3. *
    4. * @param datas
    5. */
    6. public void addMoreData(List<AlivcVideoInfo.Video> datas) {
    7. List<IVideoSourceModel> videoList = new ArrayList<>();
    8. videoList.addAll(datas);
    9. videoListView.addMoreData(videoList);
    10. //取消加载loading
    11. controlView.updateLoadingView(false);
    12. }