解决阿里系未开小窗播放闪退问题

pull/58/head
于俊 3 years ago
parent 89732792d3
commit 7fc45ff6c0
  1. 10
      app/src/main/java/com/github/tvbox/osc/base/App.java
  2. 7
      app/src/main/java/com/github/tvbox/osc/ui/activity/DetailActivity.java
  3. 4
      app/src/main/java/com/github/tvbox/osc/ui/activity/PlayActivity.java
  4. 4
      app/src/main/java/com/github/tvbox/osc/ui/fragment/PlayFragment.java
  5. 2
      app/src/main/java/com/github/tvbox/osc/util/DefaultConfig.java

@ -2,6 +2,7 @@ package com.github.tvbox.osc.base;
import androidx.multidex.MultiDexApplication;
import com.github.tvbox.osc.bean.VodInfo;
import com.github.tvbox.osc.callback.EmptyCallback;
import com.github.tvbox.osc.callback.LoadingCallback;
import com.github.tvbox.osc.data.AppDataManager;
@ -68,4 +69,13 @@ public class App extends MultiDexApplication {
super.onTerminate();
JSEngine.getInstance().destroy();
}
private VodInfo vodInfo;
public void setVodInfo(VodInfo vodinfo){
this.vodInfo = vodinfo;
}
public VodInfo getVodInfo(){
return this.vodInfo;
}
}

@ -26,6 +26,7 @@ import androidx.lifecycle.ViewModelProvider;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.github.tvbox.osc.R;
import com.github.tvbox.osc.api.ApiConfig;
import com.github.tvbox.osc.base.App;
import com.github.tvbox.osc.base.BaseActivity;
import com.github.tvbox.osc.bean.AbsXml;
import com.github.tvbox.osc.bean.Movie;
@ -371,7 +372,8 @@ public class DetailActivity extends BaseActivity {
//保存历史
insertVod(sourceKey, vodInfo);
bundle.putString("sourceKey", sourceKey);
bundle.putSerializable("VodInfo", vodInfo);
// bundle.putSerializable("VodInfo", vodInfo);
App.getInstance().setVodInfo(vodInfo);
if (showPreview) {
if (previewVodInfo == null) {
try {
@ -391,7 +393,8 @@ public class DetailActivity extends BaseActivity {
previewVodInfo.playFlag = vodInfo.playFlag;
previewVodInfo.playIndex = vodInfo.playIndex;
previewVodInfo.seriesMap = vodInfo.seriesMap;
bundle.putSerializable("VodInfo", previewVodInfo);
// bundle.putSerializable("VodInfo", previewVodInfo);
App.getInstance().setVodInfo(previewVodInfo);
}
playFragment.setData(bundle);
} else {

@ -38,6 +38,7 @@ import androidx.recyclerview.widget.DiffUtil;
import com.github.catvod.crawler.Spider;
import com.github.tvbox.osc.R;
import com.github.tvbox.osc.api.ApiConfig;
import com.github.tvbox.osc.base.App;
import com.github.tvbox.osc.base.BaseActivity;
import com.github.tvbox.osc.bean.ParseBean;
import com.github.tvbox.osc.bean.SourceBean;
@ -625,7 +626,8 @@ public class PlayActivity extends BaseActivity {
Intent intent = getIntent();
if (intent != null && intent.getExtras() != null) {
Bundle bundle = intent.getExtras();
mVodInfo = (VodInfo) bundle.getSerializable("VodInfo");
// mVodInfo = (VodInfo) bundle.getSerializable("VodInfo");
mVodInfo = App.getInstance().getVodInfo();
sourceKey = bundle.getString("sourceKey");
sourceBean = ApiConfig.get().getSource(sourceKey);
initPlayerCfg();

@ -37,6 +37,7 @@ import androidx.recyclerview.widget.DiffUtil;
import com.github.catvod.crawler.Spider;
import com.github.tvbox.osc.R;
import com.github.tvbox.osc.api.ApiConfig;
import com.github.tvbox.osc.base.App;
import com.github.tvbox.osc.base.BaseLazyFragment;
import com.github.tvbox.osc.bean.ParseBean;
import com.github.tvbox.osc.bean.SourceBean;
@ -619,7 +620,8 @@ public class PlayFragment extends BaseLazyFragment {
}
public void setData(Bundle bundle) {
mVodInfo = (VodInfo) bundle.getSerializable("VodInfo");
// mVodInfo = (VodInfo) bundle.getSerializable("VodInfo");
mVodInfo = App.getInstance().getVodInfo();
sourceKey = bundle.getString("sourceKey");
sourceBean = ApiConfig.get().getSource(sourceKey);
initPlayerCfg();

@ -107,7 +107,7 @@ public class DefaultConfig {
//增加对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).)*?default\\.365yg\\.com/.*|http((?!http).){26,}?\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg)\\?.*|http((?!http).){26,}\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg)|http((?!http).){20,}?/m3u8\\?pt=m3u8.*|http((?!http).)*?default\\.ixigua\\.com/.*|http((?!http).)*?dycdn-tos\\.pstatp[^\\?]*|http.*?/play.{0,3}\\?.{2,8}=.*|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).)*?default\\.365yg\\.com/.*|http((?!http).){26,}?\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg)\\?.*|http((?!http).){26,}\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg)|http((?!http).){20,}?/m3u8\\?pt=m3u8.*|http((?!http).)*?default\\.ixigua\\.com/.*|http((?!http).)*?dycdn-tos\\.pstatp[^\\?]*|http.*?/play.{0,3}\\?[^url]{2,8}=.*|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) {
if (url.contains("=http") || url.contains(".html")) {
return false;

Loading…
Cancel
Save