From 0822c053cba6e0f87c557510d5e182db6fa36958 Mon Sep 17 00:00:00 2001 From: laoyuyu <511455842@qq.com> Date: Wed, 23 Oct 2019 22:29:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dm3u8=E7=82=B9=E6=92=AD?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E8=AE=BE=E7=BD=AEtsurl=E8=BD=AC=E6=8D=A2?= =?UTF-8?q?=E5=99=A8=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../aria/core/common/AbsBuilderTarget.java | 4 +-- .../core/download/m3u8/M3U8LiveOption.java | 2 +- .../aria/core/download/m3u8/M3U8Option.java | 35 ++++++------------- .../core/download/m3u8/M3U8VodOption.java | 17 ++++++++- .../download/target/FtpBuilderTarget.java | 3 +- .../core/download/FtpDownloadActivity.java | 6 ++-- .../download/m3u8/M3U8VodDLoadActivity.java | 2 +- 7 files changed, 35 insertions(+), 34 deletions(-) diff --git a/Aria/src/main/java/com/arialyy/aria/core/common/AbsBuilderTarget.java b/Aria/src/main/java/com/arialyy/aria/core/common/AbsBuilderTarget.java index beb66c9b..c130894b 100644 --- a/Aria/src/main/java/com/arialyy/aria/core/common/AbsBuilderTarget.java +++ b/Aria/src/main/java/com/arialyy/aria/core/common/AbsBuilderTarget.java @@ -37,7 +37,7 @@ public abstract class AbsBuilderTarget extends /** * 添加任务 * - * @return 正常添加,返回任务id,否则返回-1 + * @return 添加成功,返回任务id,创建失败,返回-1 */ @Override public long add() { @@ -47,7 +47,7 @@ public abstract class AbsBuilderTarget extends /** * 开始任务 * - * @return 正常启动,返回任务id,否则返回-1 + * @return 创建成功,返回任务id,创建失败,返回-1 */ @Override public long create() { diff --git a/Aria/src/main/java/com/arialyy/aria/core/download/m3u8/M3U8LiveOption.java b/Aria/src/main/java/com/arialyy/aria/core/download/m3u8/M3U8LiveOption.java index 6d5d000a..c8a3b8f3 100644 --- a/Aria/src/main/java/com/arialyy/aria/core/download/m3u8/M3U8LiveOption.java +++ b/Aria/src/main/java/com/arialyy/aria/core/download/m3u8/M3U8LiveOption.java @@ -22,7 +22,7 @@ import com.arialyy.aria.util.CheckUtil; /** * m3u8直播参数设置 */ -public class M3U8LiveOption extends M3U8Option { +public class M3U8LiveOption extends M3U8Option { private ILiveTsUrlConverter liveTsUrlConverter; private long liveUpdateInterval; diff --git a/Aria/src/main/java/com/arialyy/aria/core/download/m3u8/M3U8Option.java b/Aria/src/main/java/com/arialyy/aria/core/download/m3u8/M3U8Option.java index fcd1b8b7..8dd23fc8 100644 --- a/Aria/src/main/java/com/arialyy/aria/core/download/m3u8/M3U8Option.java +++ b/Aria/src/main/java/com/arialyy/aria/core/download/m3u8/M3U8Option.java @@ -25,13 +25,12 @@ import com.arialyy.aria.util.ComponentUtil; /** * m3u8任务设置 */ -public class M3U8Option extends BaseOption { +public class M3U8Option extends BaseOption { private boolean generateIndexFileTemp = false; private boolean mergeFile = false; private int bandWidth; private ITsMergeHandler mergeHandler; - private IVodTsUrlConverter vodUrlConverter; private IBandWidthUrlConverter bandWidthUrlConverter; M3U8Option() { @@ -43,9 +42,9 @@ public class M3U8Option extends BaseOption { * 生成m3u8索引文件 * 注意:创建索引文件,{@link #merge(boolean)}方法设置与否都不再合并文件 */ - public M3U8Option generateIndexFile() { + public OP generateIndexFile() { this.generateIndexFileTemp = true; - return this; + return (OP) this; } /** @@ -53,31 +52,19 @@ public class M3U8Option extends BaseOption { * * @param mergeFile {@code true}合并所有ts文件为一个 */ - public M3U8Option merge(boolean mergeFile) { + public OP merge(boolean mergeFile) { this.mergeFile = mergeFile; - return this; + return (OP) this; } /** * 如果你希望使用自行处理ts文件的合并,可以使用{@link ITsMergeHandler}处理ts文件的合并 * 需要注意的是:只有{@link #merge(boolean)}设置合并ts文件,该方法才会生效 */ - public M3U8Option setMergeHandler(ITsMergeHandler mergeHandler) { + public OP setMergeHandler(ITsMergeHandler mergeHandler) { CheckUtil.checkMemberClass(mergeHandler.getClass()); this.mergeHandler = mergeHandler; - return this; - } - - /** - * M3U8 ts 文件url转换器,对于某些服务器,返回的ts地址可以是相对地址,也可能是处理过的 - * 对于这种情况,你需要使用url转换器将地址转换为可正常访问的http地址 - * - * @param vodUrlConverter {@link IVodTsUrlConverter} - */ - public M3U8Option setTsUrlConvert(IVodTsUrlConverter vodUrlConverter) { - CheckUtil.checkMemberClass(vodUrlConverter.getClass()); - this.vodUrlConverter = vodUrlConverter; - return this; + return (OP) this; } /** @@ -85,9 +72,9 @@ public class M3U8Option extends BaseOption { * * @param bandWidth 指定的码率 */ - public M3U8Option setBandWidth(int bandWidth) { + public OP setBandWidth(int bandWidth) { this.bandWidth = bandWidth; - return this; + return (OP) this; } /** @@ -96,9 +83,9 @@ public class M3U8Option extends BaseOption { * * @param bandWidthUrlConverter {@link IBandWidthUrlConverter} */ - public M3U8Option setBandWidthUrlConverter(IBandWidthUrlConverter bandWidthUrlConverter) { + public OP setBandWidthUrlConverter(IBandWidthUrlConverter bandWidthUrlConverter) { CheckUtil.checkMemberClass(bandWidthUrlConverter.getClass()); this.bandWidthUrlConverter = bandWidthUrlConverter; - return this; + return (OP) this; } } diff --git a/Aria/src/main/java/com/arialyy/aria/core/download/m3u8/M3U8VodOption.java b/Aria/src/main/java/com/arialyy/aria/core/download/m3u8/M3U8VodOption.java index 039009e6..563224c7 100644 --- a/Aria/src/main/java/com/arialyy/aria/core/download/m3u8/M3U8VodOption.java +++ b/Aria/src/main/java/com/arialyy/aria/core/download/m3u8/M3U8VodOption.java @@ -15,20 +15,35 @@ */ package com.arialyy.aria.core.download.m3u8; +import com.arialyy.aria.core.processor.IVodTsUrlConverter; import com.arialyy.aria.util.ALog; +import com.arialyy.aria.util.CheckUtil; /** * m3u8点播文件参数设置 */ -public class M3U8VodOption extends M3U8Option { +public class M3U8VodOption extends M3U8Option { private long fileSize; private int maxTsQueueNum; private int jumpIndex; + private IVodTsUrlConverter vodUrlConverter; public M3U8VodOption() { super(); } + /** + * M3U8 ts 文件url转换器,对于某些服务器,返回的ts地址可以是相对地址,也可能是处理过的 + * 对于这种情况,你需要使用url转换器将地址转换为可正常访问的http地址 + * + * @param vodUrlConverter {@link IVodTsUrlConverter} + */ + public M3U8VodOption setVodTsUrlConvert(IVodTsUrlConverter vodUrlConverter) { + CheckUtil.checkMemberClass(vodUrlConverter.getClass()); + this.vodUrlConverter = vodUrlConverter; + return this; + } + /** * 由于m3u8协议的特殊性质,无法有效快速获取到正确到文件长度,如果你需要显示文件中长度,你需要自行设置文件长度 * diff --git a/Aria/src/main/java/com/arialyy/aria/core/download/target/FtpBuilderTarget.java b/Aria/src/main/java/com/arialyy/aria/core/download/target/FtpBuilderTarget.java index 0baadabe..6bb56047 100644 --- a/Aria/src/main/java/com/arialyy/aria/core/download/target/FtpBuilderTarget.java +++ b/Aria/src/main/java/com/arialyy/aria/core/download/target/FtpBuilderTarget.java @@ -39,8 +39,7 @@ public class FtpBuilderTarget extends AbsBuilderTarget { /** * 设置登陆、字符串编码、ftps等参数 */ - @com.arialyy.aria.core.common.CheckResult(suggest = Suggest.TASK_CONTROLLER) - //@CheckResult(suggest = Suggest.TASK_CONTROLLER) + @CheckResult(suggest = Suggest.TASK_CONTROLLER) public FtpBuilderTarget option(FtpOption option) { if (option == null) { throw new NullPointerException("ftp 任务配置为空"); diff --git a/app/src/main/java/com/arialyy/simple/core/download/FtpDownloadActivity.java b/app/src/main/java/com/arialyy/simple/core/download/FtpDownloadActivity.java index 6522cdb6..f1c4cef1 100644 --- a/app/src/main/java/com/arialyy/simple/core/download/FtpDownloadActivity.java +++ b/app/src/main/java/com/arialyy/simple/core/download/FtpDownloadActivity.java @@ -93,10 +93,10 @@ public class FtpDownloadActivity extends BaseActivity { M3U8VodOption option = new M3U8VodOption(); option .generateIndexFile() - .setTsUrlConvert(new VodTsUrlConverter()) + .setVodTsUrlConvert(new VodTsUrlConverter()) .setMergeHandler(new TsMergeHandler()); //.setBandWidthUrlConverter(new BandWidthUrlConverter(mUrl)); return option;