1 Star 0 Fork 3

ljg1479 / M3U8Downloader

forked from huangweizhu / M3U8Downloader 
Create your Gitee Account
Explore and code with more than 12 million developers,Free private repositories !:)
Sign up
This repository doesn't specify license. Please pay attention to the specific project description and its upstream code dependency when using it.
Clone or Download
contribute
Sync branch
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README

原地址 https://github.com/Jay-Goo/M3U8Downloader 修改了导入和下载m3u8前缀的问题

M3U8Downloader

M3U8下载器,支持多线程下载、断点续传、后台下载、本地播放解决方案、m3u8加密解决方案

依赖

allprojects {
		repositories {
			...
			maven { url 'https://jitpack.io' }
		}
	}
	
dependencies {
	        compile 'com.github.Jay-Goo:M3U8Downloader:V1.0.8'
	}

用法

配置

  • default Config:
M3U8DownloaderConfig
                .build(getApplicationContext())
                .setSaveDir(dirPath)
                ;
  • Custom Config:
M3U8DownloaderConfig
                .build(getApplicationContext())
                .setSaveDir(dirPath)
                .setConnTimeout(10000)
                .setReadTimeout(10000)
                .setThreadCount(3)
                .setDebugMode(true)
                ;

单例

M3U8Downloader.getInstance()

下载

download(String url)

暂停

pause(String url)

取消任务、取消任务并删除文件缓存

cancel(String url)

cancelAndDelete(final String url, final OnDeleteTaskListener listener)

下载监听

        M3U8Downloader.getInstance().setOnM3U8DownloadListener(onM3U8DownloadListener);

private OnM3U8DownloadListener onM3U8DownloadListener = new OnM3U8DownloadListener() {

        @Override
        public void onDownloadItem(M3U8Task task, long itemFileSize, int totalTs, int curTs) {
            super.onDownloadItem(task, itemFileSize, totalTs, curTs);
            //下载切片监听,非UI线程
        }

        @Override
        public void onDownloadSuccess(M3U8Task task) {
            super.onDownloadSuccess(task);
            //下载成功
        }

        @Override
        public void onDownloadPending(M3U8Task task) {
            super.onDownloadPending(task);
            //加入队列,任务挂起
        }

        @Override
        public void onDownloadPause(M3U8Task task) {
            super.onDownloadPause(task);
            //任务暂停
        }

        @Override
        public void onDownloadProgress(final M3U8Task task) {
            super.onDownloadProgress(task);
            //下载进度,非UI线程
        }

        @Override
        public void onDownloadPrepare(final M3U8Task task) {
            super.onDownloadPrepare(task);
            //准备下载
        }

        @Override
        public void onDownloadError(final M3U8Task task, Throwable errorMsg) {
            super.onDownloadError(task, errorMsg);
            //下载错误,非UI线程
        }

    };

M3U8Task

    private String url; //下载链接
    private int state = M3U8TaskState.DEFAULT; //下载状态
    private long speed; //下载速度
    private float progress; //下载进度
    private M3U8 m3U8; //下载成功后得到

加密

加密后视频切片文件名乱序,并移除后缀。

//设置密匙
M3U8Downloader.getInstance().setEncryptKey(encryptKey);
//获取随机密匙
AES128Utils.getAESKey()

更多加密解密 M3U8EncryptHelper

本地播放

普通未加密请使用 M3U8HttpServer

加密解密请使用 M3U8EncryptHelper

具体使用样例参考 FullScreenActivity

联系我

  • Email: 1015121748@qq.com
  • QQ Group: 573830030 有时候工作很忙没空看邮件和Issue,大家可以通过QQ群联系我

一杯咖啡

大家都知道开源是件很辛苦的事情,这个项目也是我工作之余完成的,平时工作很忙,但大家提的需求基本上我都尽量满足,如果这个项目帮助你节省了大量时间,你很喜欢,你可以给我一杯咖啡的鼓励,不在于钱多钱少,关键是你的这份鼓励所带给我的力量~

致谢

huangdali - M3U8Manger

Empty file

About

No description expand collapse
Android
Cancel

Releases

No release

Contributors

All

Activities

Load More
can not load any more
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Android
1
https://gitee.com/ljg1479/M3U8Downloader.git
git@gitee.com:ljg1479/M3U8Downloader.git
ljg1479
M3U8Downloader
M3U8Downloader
master

Search

344bd9b3 5694891 D2dac590 5694891