Merge pull request #12 from thanatos888/main

增加对flv|avi|mkv|rm|wmv|mpg等几种视频格式的支持,修正倒序排序时上一集与下一集播放顺序相反的问题
pull/1/head
thanatos888 4 years ago committed by GitHub
commit 1f8e689a11
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 32
      app/src/main/java/com/github/tvbox/osc/ui/activity/PlayActivity.java
  2. 2
      app/src/main/java/com/github/tvbox/osc/ui/fragment/ModelSettingFragment.java
  3. 6
      app/src/main/java/com/github/tvbox/osc/util/DefaultConfig.java

@ -416,13 +416,25 @@ public class PlayActivity extends BaseActivity {
if (mVodInfo == null || mVodInfo.seriesMap.get(mVodInfo.playFlag) == null) { if (mVodInfo == null || mVodInfo.seriesMap.get(mVodInfo.playFlag) == null) {
hasNext = false; hasNext = false;
} else { } else {
hasNext = mVodInfo.playIndex + 1 < mVodInfo.seriesMap.get(mVodInfo.playFlag).size(); //修正倒序排序时上一集与下一集播放顺序相反的问题
// hasNext = mVodInfo.playIndex + 1 < mVodInfo.seriesMap.get(mVodInfo.playFlag).size();
if (mVodInfo.reverseSort){
hasNext = mVodInfo.playIndex - 1 >= 0;
} else {
hasNext = mVodInfo.playIndex + 1 < mVodInfo.seriesMap.get(mVodInfo.playFlag).size();
}
} }
if (!hasNext) { if (!hasNext) {
Toast.makeText(this, "已经是最后一集了!", Toast.LENGTH_SHORT).show(); Toast.makeText(this, "已经是最后一集了!", Toast.LENGTH_SHORT).show();
return; return;
} }
mVodInfo.playIndex++; //修正倒序排序时上一集与下一集播放顺序相反的问题
// mVodInfo.playIndex++;
if (mVodInfo.reverseSort){
mVodInfo.playIndex--;
} else {
mVodInfo.playIndex++;
}
play(); play();
} }
@ -431,13 +443,25 @@ public class PlayActivity extends BaseActivity {
if (mVodInfo == null || mVodInfo.seriesMap.get(mVodInfo.playFlag) == null) { if (mVodInfo == null || mVodInfo.seriesMap.get(mVodInfo.playFlag) == null) {
hasPre = false; hasPre = false;
} else { } else {
hasPre = mVodInfo.playIndex - 1 >= 0; //修正倒序排序时上一集与下一集播放顺序相反的问题
// hasPre = mVodInfo.playIndex - 1 >= 0;
if (mVodInfo.reverseSort){
hasPre = mVodInfo.playIndex + 1 < mVodInfo.seriesMap.get(mVodInfo.playFlag).size();
} else {
hasPre = mVodInfo.playIndex - 1 >= 0;
}
} }
if (!hasPre) { if (!hasPre) {
Toast.makeText(this, "已经是第一集了!", Toast.LENGTH_SHORT).show(); Toast.makeText(this, "已经是第一集了!", Toast.LENGTH_SHORT).show();
return; return;
} }
mVodInfo.playIndex--; //修正倒序排序时上一集与下一集播放顺序相反的问题
// mVodInfo.playIndex--;
if (mVodInfo.reverseSort){
mVodInfo.playIndex++;
} else {
mVodInfo.playIndex--;
}
play(); play();
} }

@ -44,7 +44,7 @@ import tv.danmaku.ijk.media.player.IjkMediaPlayer;
/** /**
* @author pj567 * @author pj567
* @date :2020/12/23 * @date :2020/12/23
* @description: * @description: 设置页面
*/ */
public class ModelSettingFragment extends BaseLazyFragment { public class ModelSettingFragment extends BaseLazyFragment {
private TextView tvDebugOpen; private TextView tvDebugOpen;

@ -105,9 +105,9 @@ public class DefaultConfig {
return start > -1 ? fileName.substring(0, start) : fileName; return start > -1 ? fileName.substring(0, start) : fileName;
} }
//增加对flv|avi|mkv|rm|wmv|mpg等几种视频格式的支持
private static final Pattern snifferMatch = Pattern.compile("http((?!http).){26,}?\\.(m3u8|mp4)\\?.*|http((?!http).){26,}\\.(m3u8|mp4)|http((?!http).){26,}?/m3u8\\?pt=m3u8.*|http((?!http).)*?default\\.ixigua\\.com/.*|http((?!http).)*?cdn-tos[^\\?]*|http((?!http).)*?/obj/tos[^\\?]*|http.*?/player/m3u8play\\.php\\?url=.*|http.*?/player/.*?[pP]lay\\.php\\?url=.*|http.*?/playlist/m3u8/\\?vid=.*|http.*?\\.php\\?type=m3u8&.*|http.*?/download.aspx\\?.*|http.*?/api/up_api.php\\?.*|https.*?\\.66yk\\.cn.*|http((?!http).)*?netease\\.com/file/.*"); //private static final Pattern snifferMatch = Pattern.compile("http((?!http).){26,}?\\.(m3u8|mp4)\\?.*|http((?!http).){26,}\\.(m3u8|mp4)|http((?!http).){26,}?/m3u8\\?pt=m3u8.*|http((?!http).)*?default\\.ixigua\\.com/.*|http((?!http).)*?cdn-tos[^\\?]*|http((?!http).)*?/obj/tos[^\\?]*|http.*?/player/m3u8play\\.php\\?url=.*|http.*?/player/.*?[pP]lay\\.php\\?url=.*|http.*?/playlist/m3u8/\\?vid=.*|http.*?\\.php\\?type=m3u8&.*|http.*?/download.aspx\\?.*|http.*?/api/up_api.php\\?.*|https.*?\\.66yk\\.cn.*|http((?!http).)*?netease\\.com/file/.*");
private static final Pattern snifferMatch = Pattern.compile("http((?!http).){26,}?\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg)\\?.*|http((?!http).){26,}\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg)|http((?!http).){26,}?/m3u8\\?pt=m3u8.*|http((?!http).)*?default\\.ixigua\\.com/.*|http((?!http).)*?cdn-tos[^\\?]*|http((?!http).)*?/obj/tos[^\\?]*|http.*?/player/m3u8play\\.php\\?url=.*|http.*?/player/.*?[pP]lay\\.php\\?url=.*|http.*?/playlist/m3u8/\\?vid=.*|http.*?\\.php\\?type=m3u8&.*|http.*?/download.aspx\\?.*|http.*?/api/up_api.php\\?.*|https.*?\\.66yk\\.cn.*|http((?!http).)*?netease\\.com/file/.*");
public static boolean isVideoFormat(String url) { public static boolean isVideoFormat(String url) {
if (url.contains("=http") || url.contains("=https") || url.contains("=https%3a%2f") || url.contains("=http%3a%2f")) { if (url.contains("=http") || url.contains("=https") || url.contains("=https%3a%2f") || url.contains("=http%3a%2f")) {
return false; return false;

Loading…
Cancel
Save