1 Star 0 Fork 1

神秘的凯 / M3U8Manger

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

M3U8Manger (M3U8管理器)

  • M3U8格式视频下载
  • 获取M3U8格式信息
  • 中途停止任务

适用性:适用以下格式的m3u8格式(ts切片的名字就是当前时间eg:1500480000074.ts)

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-TARGETDURATION:10
#EXTINF:9.960,
1500480000074.ts
#EXTINF:10.190,
1500480009999.ts
#EXTINF:9.960,
1500480020246.ts
#EXTINF:9.960,
1500480030189.ts
#EXTINF:10.030,
...

导入:

compile 'com.jwkj:M3U8Manger:v1.0.8'

获取M3U8信息:

 M3U8Manger.getInstance()
                .setUrl(url)
                .getM3U8(new M3U8Listener() {
                    @Override
                    public void onStart() {
                        Log.e("hdltag", "onStart(MainActivity.java:75):开始了" );
                    }

                    @Override
                    public void onError(Throwable errorMsg) {
                        Log.e("hdltag", "onStart(MainActivity.java:75):出错了"+errorMsg );
                    }

                    @Override
                    public void onCompleted() {
                        Log.e("hdltag", "onStart(MainActivity.java:75):完成了" );
                    }

                    @Override
                    public void onM3U8Info(M3U8 m3U8) {
                        Log.e("hdltag", "onStart(MainActivity.java:75):拿到结果了"+m3U8 );
                        Log.e("hdltag", "onM3U8Info(MainActivity.java:91):" + m3U8.getTsList());
                    }
                });

下载M3U8格式的视频文件:

M3U8Manger.getInstance()
                .setUrl(url)
                .setSaveFilePath("/sdcard/11/"+System.currentTimeMillis()+".ts")
                .download(new M3U8Listener() {
                    @Override
                    public void onStart() {
                        Toast.makeText(MainActivity.this, "开始下载了", Toast.LENGTH_SHORT).show();
                    }

                    @Override
                    public void onError(Throwable errorMsg) {
                        Log.e("hdltag", "onError(MainActivity.java:28):下载出错了" + errorMsg);
                    }

                    @Override
                    public void onCompleted() {
                        Log.e("hdltag", "onCompleted(MainActivity.java:33):下载完成了");
                    }

                    @Override
                    public void onLoadFileSizeForItem(long fileSize) {//fileSize的单位是b
                       Log.e("hdltag", "onLoadFileSizeForItem(MainActivity.java:63):fileSize=" + fileSize + " b");
                    }

                    @Override
                    public void onDownloadingProgress(int total, int progress) {//total表示总的ts数,progress当前已经下载完成的ts数
                           Log.e("hdltag", "onDownloadingProgress(MainActivity.java:126):" + total + " ------ " + progress);
                    }
                });

停止任务:

    M3U8Manger.getInstance().stop();

版本记录

v1.0.8(2017.08.08)

  • 【新增】onLoadFileSizeForItem方法(获取单个ts文件的平均大小)
    • 可根据这个平均值x总的切片个数(total)=总文件的大小

v1.0.7(2017.07.31)

  • 【修复】获取M3U8信息不走onStart的bug

v1.0.6

  • 【修复】指定下载的区间时间不准问题

v1.0.5

  • 【修复】下载成功走的是onStart
  • 【新增】指定下载的区间

v1.0.4

  • 【新增】获取M3U8基本信息方法
  • 【新增】停止任务方法

v1.0.3

  • 【修复】url失效时抛出异常
  • 【新增】M3U8开始、结束时间

空文件

简介

暂无描述 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/shenmidekai/M3U8Manger.git
git@gitee.com:shenmidekai/M3U8Manger.git
shenmidekai
M3U8Manger
M3U8Manger
master

搜索帮助