Step 1. Add the JitPack repository to your build file
Add it in your root settings.gradle at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
}
}
Add it in your settings.gradle.kts at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url = uri("https://jitpack.io") }
}
}
Add to pom.xml
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
Add it in your build.sbt at the end of resolvers:
resolvers += "jitpack" at "https://jitpack.io"
Add it in your project.clj at the end of repositories:
:repositories [["jitpack" "https://jitpack.io"]]
Step 2. Add the dependency
dependencies {
implementation 'com.github.jay-goo:m3u8downloader:V1.0.8'
}
dependencies {
implementation("com.github.jay-goo:m3u8downloader:V1.0.8")
}
<dependency>
<groupId>com.github.jay-goo</groupId>
<artifactId>m3u8downloader</artifactId>
<version>V1.0.8</version>
</dependency>
libraryDependencies += "com.github.jay-goo" % "m3u8downloader" % "V1.0.8"
:dependencies [[com.github.jay-goo/m3u8downloader "V1.0.8"]]
M3U8下载器,支持多线程下载、断点续传、后台下载、本地播放解决方案、m3u8加密解决方案
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dependencies {
compile 'com.github.Jay-Goo:M3U8Downloader:V1.0.8'
}
M3U8DownloaderConfig
.build(getApplicationContext())
.setSaveDir(dirPath)
;
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线程
}
};
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
QQ Group: 573830030 有时候工作很忙没空看邮件和Issue,大家可以通过QQ群联系我
<div style="text-align: center;"> <img src="https://github.com/Jay-Goo/RangeSeekBar/blob/master/Gif/qq.png" style="margin: 0 auto;" height="250px"/> </div>大家都知道开源是件很辛苦的事情,这个项目也是我工作之余完成的,平时工作很忙,但大家提的需求基本上我都尽量满足,如果这个项目帮助你节省了大量时间,你很喜欢,你可以给我一杯咖啡的鼓励,不在于钱多钱少,关键是你的这份鼓励所带给我的力量~
<div style="text-align: center;"> <img src="https://github.com/Jay-Goo/RangeSeekBar/blob/master/Gif/pay.png" height="200px"/> </div>