3.7.2
This commit is contained in:
@@ -16,9 +16,10 @@
|
|||||||
|
|
||||||
package com.arialyy.aria.http;
|
package com.arialyy.aria.http;
|
||||||
|
|
||||||
|
import android.text.TextUtils;
|
||||||
import com.arialyy.aria.core.common.RequestEnum;
|
import com.arialyy.aria.core.common.RequestEnum;
|
||||||
import com.arialyy.aria.core.processor.IHttpFileLenAdapter;
|
|
||||||
import com.arialyy.aria.core.inf.ITaskOption;
|
import com.arialyy.aria.core.inf.ITaskOption;
|
||||||
|
import com.arialyy.aria.core.processor.IHttpFileLenAdapter;
|
||||||
import java.lang.ref.SoftReference;
|
import java.lang.ref.SoftReference;
|
||||||
import java.net.CookieManager;
|
import java.net.CookieManager;
|
||||||
import java.net.Proxy;
|
import java.net.Proxy;
|
||||||
@@ -140,7 +141,7 @@ public class HttpTaskOption implements ITaskOption {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public String getCharSet() {
|
public String getCharSet() {
|
||||||
return charSet;
|
return TextUtils.isEmpty(charSet) ? "utf-8" : charSet;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setCharSet(String charSet) {
|
public void setCharSet(String charSet) {
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ public class M3U8TaskOption implements ITaskOption {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public int getMaxTsQueueNum() {
|
public int getMaxTsQueueNum() {
|
||||||
return maxTsQueueNum;
|
return maxTsQueueNum == 0 ? 4 : maxTsQueueNum;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setMaxTsQueueNum(int maxTsQueueNum) {
|
public void setMaxTsQueueNum(int maxTsQueueNum) {
|
||||||
@@ -128,7 +128,7 @@ public class M3U8TaskOption implements ITaskOption {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public long getLiveUpdateInterval() {
|
public long getLiveUpdateInterval() {
|
||||||
return liveUpdateInterval;
|
return liveUpdateInterval == 0 ? 10 * 1000 : liveUpdateInterval;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setLiveUpdateInterval(long liveUpdateInterval) {
|
public void setLiveUpdateInterval(long liveUpdateInterval) {
|
||||||
|
|||||||
@@ -334,7 +334,7 @@ public class M3U8VodLoader extends BaseM3U8Loader {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 重指定位置恢复任务
|
* 从指定位置恢复任务
|
||||||
*/
|
*/
|
||||||
private synchronized void resumeTask() {
|
private synchronized void resumeTask() {
|
||||||
if (isBreak()) {
|
if (isBreak()) {
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ public class M3U8VodUtil extends AbsNormalLoaderUtil {
|
|||||||
fail(new M3U8Exception(TAG, "获取地址失败"), false);
|
fail(new M3U8Exception(TAG, "获取地址失败"), false);
|
||||||
return;
|
return;
|
||||||
} else if (!mUrls.get(0).startsWith("http")) {
|
} else if (!mUrls.get(0).startsWith("http")) {
|
||||||
fail(new M3U8Exception(TAG, "地址错误,请使用IM3U8UrlExtInfHandler处理你的url信息"), false);
|
fail(new M3U8Exception(TAG, "地址错误,请使用IVodTsUrlConverter处理你的url信息"), false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
mM3U8Option.setUrls(mUrls);
|
mM3U8Option.setUrls(mUrls);
|
||||||
|
|||||||
@@ -18,10 +18,19 @@ package com.arialyy.aria.core;
|
|||||||
import com.arialyy.aria.core.common.BaseOption;
|
import com.arialyy.aria.core.common.BaseOption;
|
||||||
import com.arialyy.aria.core.inf.IEventHandler;
|
import com.arialyy.aria.core.inf.IEventHandler;
|
||||||
import com.arialyy.aria.core.inf.IOptionConstant;
|
import com.arialyy.aria.core.inf.IOptionConstant;
|
||||||
|
import com.arialyy.aria.core.processor.FtpInterceptHandler;
|
||||||
|
import com.arialyy.aria.core.processor.IBandWidthUrlConverter;
|
||||||
|
import com.arialyy.aria.core.processor.IFtpUploadInterceptor;
|
||||||
|
import com.arialyy.aria.core.processor.IHttpFileLenAdapter;
|
||||||
|
import com.arialyy.aria.core.processor.ILiveTsUrlConverter;
|
||||||
|
import com.arialyy.aria.core.processor.ITsMergeHandler;
|
||||||
|
import com.arialyy.aria.core.processor.IVodTsUrlConverter;
|
||||||
import com.arialyy.aria.util.ALog;
|
import com.arialyy.aria.util.ALog;
|
||||||
import com.arialyy.aria.util.CommonUtil;
|
import com.arialyy.aria.util.CommonUtil;
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -32,6 +41,8 @@ import java.util.Map;
|
|||||||
*/
|
*/
|
||||||
public class TaskOptionParams {
|
public class TaskOptionParams {
|
||||||
|
|
||||||
|
private static List<Class> PROCESSORES = new ArrayList<>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 普通参数
|
* 普通参数
|
||||||
*/
|
*/
|
||||||
@@ -42,18 +53,29 @@ public class TaskOptionParams {
|
|||||||
*/
|
*/
|
||||||
private Map<String, IEventHandler> handler = new HashMap<>();
|
private Map<String, IEventHandler> handler = new HashMap<>();
|
||||||
|
|
||||||
|
static {
|
||||||
|
PROCESSORES.add(FtpInterceptHandler.class);
|
||||||
|
PROCESSORES.add(IBandWidthUrlConverter.class);
|
||||||
|
PROCESSORES.add(IFtpUploadInterceptor.class);
|
||||||
|
PROCESSORES.add(IHttpFileLenAdapter.class);
|
||||||
|
PROCESSORES.add(ILiveTsUrlConverter.class);
|
||||||
|
PROCESSORES.add(ITsMergeHandler.class);
|
||||||
|
PROCESSORES.add(IVodTsUrlConverter.class);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设置任务参数
|
* 设置任务参数
|
||||||
*
|
*
|
||||||
* @param option 任务配置
|
* @param option 任务配置
|
||||||
*/
|
*/
|
||||||
public void setParams(BaseOption option) {
|
public void setParams(BaseOption option) {
|
||||||
Field[] fields = CommonUtil.getFields(option.getClass());
|
List<Field> fields = CommonUtil.getAllFields(option.getClass());
|
||||||
|
|
||||||
for (Field field : fields) {
|
for (Field field : fields) {
|
||||||
field.setAccessible(true);
|
field.setAccessible(true);
|
||||||
try {
|
try {
|
||||||
if (field.getType() == IEventHandler.class) {
|
|
||||||
|
if (PROCESSORES.contains(field.getType())) {
|
||||||
Object eventHandler = field.get(option);
|
Object eventHandler = field.get(option);
|
||||||
if (eventHandler != null) {
|
if (eventHandler != null) {
|
||||||
setObjs(field.getName(), (IEventHandler) eventHandler);
|
setObjs(field.getName(), (IEventHandler) eventHandler);
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ import java.lang.ref.SoftReference;
|
|||||||
import java.lang.reflect.Constructor;
|
import java.lang.reflect.Constructor;
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 组件工具,用于跨组件创建对应的工具类
|
* 组件工具,用于跨组件创建对应的工具类
|
||||||
@@ -210,7 +211,7 @@ public class ComponentUtil {
|
|||||||
* @return 构建失败,返回null
|
* @return 构建失败,返回null
|
||||||
*/
|
*/
|
||||||
public <T extends ITaskOption> T buildTaskOption(Class<T> clazz, TaskOptionParams params) {
|
public <T extends ITaskOption> T buildTaskOption(Class<T> clazz, TaskOptionParams params) {
|
||||||
Field[] fields = CommonUtil.getFields(clazz);
|
List<Field> fields = CommonUtil.getAllFields(clazz);
|
||||||
T taskOption = null;
|
T taskOption = null;
|
||||||
try {
|
try {
|
||||||
taskOption = clazz.newInstance();
|
taskOption = clazz.newInstance();
|
||||||
|
|||||||
16
README.md
16
README.md
@@ -44,16 +44,16 @@ Aria有以下特点:
|
|||||||
|
|
||||||
## 引入库
|
## 引入库
|
||||||
[](https://github.com/AriaLyy/Aria/blob/master/LICENSE)
|
[](https://github.com/AriaLyy/Aria/blob/master/LICENSE)
|
||||||
[](https://github.com/AriaLyy/Aria)
|
[](https://github.com/AriaLyy/Aria)
|
||||||
[](https://github.com/AriaLyy/Aria)
|
[](https://github.com/AriaLyy/Aria)
|
||||||
[](https://github.com/AriaLyy/Aria)
|
[](https://github.com/AriaLyy/Aria)
|
||||||
[](https://github.com/AriaLyy/Aria)
|
[](https://github.com/AriaLyy/Aria)
|
||||||
|
|
||||||
```java
|
```java
|
||||||
implementation 'com.arialyy.aria:core:3.7.1'
|
implementation 'com.arialyy.aria:core:3.7.2'
|
||||||
annotationProcessor 'com.arialyy.aria:compiler:3.7.1'
|
annotationProcessor 'com.arialyy.aria:compiler:3.7.2'
|
||||||
implementation 'com.arialyy.aria:ftpComponent:3.7.1' # 如果需要使用ftp,请增加该组件
|
implementation 'com.arialyy.aria:ftpComponent:3.7.2' # 如果需要使用ftp,请增加该组件
|
||||||
implementation 'com.arialyy.aria:m3u8Component:3.7.1' # 如果需要使用m3u8下载功能,请增加该组件
|
implementation 'com.arialyy.aria:m3u8Component:3.7.2' # 如果需要使用m3u8下载功能,请增加该组件
|
||||||
```
|
```
|
||||||
如果出现android support依赖错误,请将 `compile 'com.arialyy.aria:aria-core:<last-version>'`替换为
|
如果出现android support依赖错误,请将 `compile 'com.arialyy.aria:aria-core:<last-version>'`替换为
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -310,8 +310,6 @@ public class M3U8VodDLoadActivity extends BaseActivity<ActivityM3u8VodBinding> {
|
|||||||
return option;
|
return option;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Class<BuilderController> c = BuilderController.class;
|
|
||||||
|
|
||||||
@Override protected void dataCallback(int result, Object data) {
|
@Override protected void dataCallback(int result, Object data) {
|
||||||
super.dataCallback(result, data);
|
super.dataCallback(result, data);
|
||||||
if (result == ModifyUrlDialog.MODIFY_URL_DIALOG_RESULT) {
|
if (result == ModifyUrlDialog.MODIFY_URL_DIALOG_RESULT) {
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package com.arialyy.simple.core.download.m3u8;
|
package com.arialyy.simple.core.download.m3u8;
|
||||||
|
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
|
import android.graphics.Canvas;
|
||||||
|
import android.graphics.Color;
|
||||||
import android.media.AudioManager;
|
import android.media.AudioManager;
|
||||||
import android.media.MediaPlayer;
|
import android.media.MediaPlayer;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
@@ -37,6 +39,7 @@ public class VideoPlayerFragment extends BaseFragment<FragmentVideoPlayerBinding
|
|||||||
private MediaPlayer mCurrentPlayer;
|
private MediaPlayer mCurrentPlayer;
|
||||||
private LoadingDialog mLoadingDialog;
|
private LoadingDialog mLoadingDialog;
|
||||||
private int mJumpIndex = -1;
|
private int mJumpIndex = -1;
|
||||||
|
private boolean needPaint= true;
|
||||||
|
|
||||||
VideoPlayerFragment(int peerIndex, DownloadEntity entity) {
|
VideoPlayerFragment(int peerIndex, DownloadEntity entity) {
|
||||||
mEntity = entity;
|
mEntity = entity;
|
||||||
@@ -59,6 +62,12 @@ public class VideoPlayerFragment extends BaseFragment<FragmentVideoPlayerBinding
|
|||||||
getBinding().surfaceView.getHolder().addCallback(new SurfaceHolder.Callback() {
|
getBinding().surfaceView.getHolder().addCallback(new SurfaceHolder.Callback() {
|
||||||
@Override public void surfaceCreated(SurfaceHolder holder) {
|
@Override public void surfaceCreated(SurfaceHolder holder) {
|
||||||
mSurfaceHolder = holder;
|
mSurfaceHolder = holder;
|
||||||
|
//if (needPaint){
|
||||||
|
// needPaint = false;
|
||||||
|
// Canvas canvas = holder.lockCanvas();
|
||||||
|
// canvas.drawColor(Color.BLACK);
|
||||||
|
// holder.unlockCanvasAndPost(canvas);
|
||||||
|
//}
|
||||||
startNewPlayer(mPlayers.valueAt(0));
|
startNewPlayer(mPlayers.valueAt(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -91,6 +100,7 @@ public class VideoPlayerFragment extends BaseFragment<FragmentVideoPlayerBinding
|
|||||||
@Override public void onStopTrackingTouch(SeekBar seekBar) {
|
@Override public void onStopTrackingTouch(SeekBar seekBar) {
|
||||||
PeerIndex index = new PeerIndex();
|
PeerIndex index = new PeerIndex();
|
||||||
index.index = seekBar.getProgress();
|
index.index = seekBar.getProgress();
|
||||||
|
mJumpIndex = index.index;
|
||||||
EventBus.getDefault().post(index);
|
EventBus.getDefault().post(index);
|
||||||
if (mCurrentPlayer != null && mCurrentPlayer.isPlaying()) {
|
if (mCurrentPlayer != null && mCurrentPlayer.isPlaying()) {
|
||||||
mCurrentPlayer.stop();
|
mCurrentPlayer.stop();
|
||||||
@@ -98,7 +108,6 @@ public class VideoPlayerFragment extends BaseFragment<FragmentVideoPlayerBinding
|
|||||||
mCurrentPlayer.release();
|
mCurrentPlayer.release();
|
||||||
}
|
}
|
||||||
showLoadingDialog();
|
showLoadingDialog();
|
||||||
mJumpIndex = seekBar.getProgress();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -44,8 +44,8 @@ task clean(type: Delete) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ext {
|
ext {
|
||||||
versionCode = 371
|
versionCode = 372
|
||||||
versionName = '3.7.1'
|
versionName = '3.7.2'
|
||||||
userOrg = 'arialyy'
|
userOrg = 'arialyy'
|
||||||
groupId = 'com.arialyy.aria'
|
groupId = 'com.arialyy.aria'
|
||||||
publishVersion = versionName
|
publishVersion = versionName
|
||||||
|
|||||||
Reference in New Issue
Block a user