1 Star 0 Fork 46

C-Band / iPlayer

forked from Yuye / iPlayer 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

iPlayer

一、SDK基础功能:

  • 支持网络地址、直播流、本地Assets和Raw资源文件播放
  • 支持播放倍速、缩放模式、静音、镜像等功能设置
  • 支持自定义视频解码器、控制器、UI交互组件、视频画面渲染器
  • 支持多播放器同时播放
  • SDK默认控制器(局部UI交互可自定义)支持手势控制、付费试看等交互
  • 支持任意位置启动Activity级别悬浮窗口播放
  • 支持任意位置启动全局悬浮窗口播放
  • 支持任意位置直接启动全屏播放
  • 支持连续播放视频列表
  • Demo:列表或组件之间无缝转场播放
  • Demo:全局悬浮窗播放转场跳转Activity
  • Demo:MediaPlayer、IjkPlayer、ExoPlayer三种解码器切换
  • Demo:仿抖音,支持视频缓存、秒播
  • Demo:弹幕交互
  • Demo:Android8.0+画中画示例

二、历史版本

三、SDK集成

  • 建议集成前先下载apk体验,找到自己想要实现的功能模块,后续集成可参考demo源码。
1、项目根build.gradle及模块build.gradle配置
    //1.在你的根build.gradle中添加:
    allprojects {
        repositories {
            maven { url 'https://jitpack.io' }
        }
    }

    //2.在你的模块build.gradle中添加:   
    dependencies {
        //播放器
        implementation 'com.github.hty527.iPlayer:iplayer:2.0.2.2'
            
        //可选,音视频解码器    
        //implementation 'com.github.hty527.iPlayer:ijk:2.0.2.2'
        //可选,音视频缓存
        //implementation 'com.github.hty527.iPlayer:videocache:2.0.2.2'
    }
2、在需要播放视频的xml中添加如下代码,或在适合的位置new VideoPlayer()
    <com.android.iplayer.widget.VideoPlayer
        android:id="@+id/video_player"
        android:layout_width="match_parent"
        android:layout_height="200dp"/>
3、播放器准备及开始播放
    mVideoPlayer = (VideoPlayer) findViewById(R.id.video_player);
    mVideoPlayer.getLayoutParams().height= getResources().getDisplayMetrics().widthPixels * 9 /16;//固定播放器高度,或高度设置为:match_parent
    //使用SDK自带控制器+各UI交互组件
    VideoController controller = mVideoPlayer.initController();
    //设置视频标题(仅横屏状态可见)
    controller.setTitle("测试地址播放");
    //设置播放源
    mVideoPlayer.setDataSource("https://upload.dongfeng-nissan.com.cn/nissan/video/202204/4cfde6f0-bf80-11ec-95c3-214c38efbbc8.mp4");
    //异步开始准备播放
    mVideoPlayer.prepareAsync();
4、生命周期处理
    @Override
    protected void onResume() {
        super.onResume();
        mVideoPlayer.onResume();
    }

    @Override
    protected void onPause() {
        super.onPause();
        mVideoPlayer.onPause();
    }

    @Override
    public void onBackPressed() {
        if(mVideoPlayer.isBackPressed()){
            super.onBackPressed();
        }
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        mVideoPlayer.onDestroy();
    }
5、常用API、自定义解码器、UI交互组件和悬浮窗口播放等功能请阅读wiki

四、遇到问题

五、SDK及Demo部分功能预览

空文件

简介

支持IJKPlayer、ExoPlayer、MediaPlayer和其它更多解码器切换、支持静音、镜像、渲染模式、倍速设置等功能的轻便级播放器,支持自定义解码器、控制器、UI交互组件和悬浮窗播放能力等 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/C-BAND/iPlayer.git
git@gitee.com:C-BAND/iPlayer.git
C-BAND
iPlayer
iPlayer
main

搜索帮助