1 加入新的IJK解码库(by影魔)2主页分类跳转优化3尝试解决重复调用解析问题(自行测试)4取消首页自动旋转5恢复默认小窗(目前小窗功能以基本完善)

pull/41/head
于俊 4 years ago
parent 79a074aca3
commit 992f93d21c
  1. 2
      app/src/main/AndroidManifest.xml
  2. 2
      app/src/main/java/com/github/tvbox/osc/bean/AbsXml.java
  3. 3
      app/src/main/java/com/github/tvbox/osc/ui/activity/DetailActivity.java
  4. 20
      app/src/main/java/com/github/tvbox/osc/ui/activity/PlayActivity.java
  5. 3
      app/src/main/java/com/github/tvbox/osc/ui/fragment/GridFragment.java
  6. 4
      app/src/main/java/com/github/tvbox/osc/ui/fragment/ModelSettingFragment.java
  7. 20
      app/src/main/java/com/github/tvbox/osc/ui/fragment/PlayFragment.java
  8. 7
      player/src/main/java/tv/danmaku/ijk/media/player/IjkMediaPlayer.java
  9. BIN
      player/src/main/jniLibs/armeabi-v7a/libijkffmpeg.so
  10. BIN
      player/src/main/jniLibs/armeabi-v7a/libijksdl.so
  11. BIN
      player/src/main/jniLibs/armeabi-v7a/libplayer.so

@ -27,7 +27,7 @@
<activity
android:name=".ui.activity.HomeActivity"
android:screenOrientation="sensorLandscape">
android:screenOrientation="landscape">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

@ -13,6 +13,4 @@ import java.io.Serializable;
public class AbsXml implements Serializable {
@XStreamAlias("list")
public Movie movie;
@XStreamAlias("msg")
public String msg;
}

@ -553,7 +553,6 @@ public class DetailActivity extends BaseActivity {
llPlayerFragmentContainer.setVisibility(View.GONE);
llPlayerFragmentContainerBlock.setVisibility(View.GONE);
}
if(absXml != null && absXml.msg != null && !absXml.msg.isEmpty())Toast.makeText(DetailActivity.this, absXml.msg, Toast.LENGTH_SHORT).show();
}
});
}
@ -805,7 +804,7 @@ public class DetailActivity extends BaseActivity {
// preview
VodInfo previewVodInfo = null;
boolean showPreview = Hawk.get(HawkConfig.SHOW_PREVIEW, false);; // true 开启 false 关闭
boolean showPreview = Hawk.get(HawkConfig.SHOW_PREVIEW, true);; // true 开启 false 关闭
boolean fullWindows = false;
ViewGroup.LayoutParams windowsPreview = null;
ViewGroup.LayoutParams windowsFull = null;

@ -317,9 +317,11 @@ public class PlayActivity extends BaseActivity {
}
} catch (Throwable th) {
// errorWithRetry("获取播放信息错误", true);
Toast.makeText(mContext, "获取播放信息错误", Toast.LENGTH_SHORT).show();
}
} else {
errorWithRetry("获取播放信息错误", true);
// errorWithRetry("获取播放信息错误", true);
Toast.makeText(mContext, "获取播放信息错误", Toast.LENGTH_SHORT).show();
}
}
});
@ -472,7 +474,7 @@ public class PlayActivity extends BaseActivity {
String playTitleInfo = mVodInfo.name + " " + vs.name;
mController.setTitle(playTitleInfo);
playUrl(null, null);
// playUrl(null, null);
String progressKey = mVodInfo.sourceKey + mVodInfo.id + mVodInfo.playFlag + mVodInfo.playIndex;
//存储播放进度
Object bodyKey=CacheManager.getCache(MD5.string2MD5(progressKey));
@ -651,7 +653,8 @@ public class PlayActivity extends BaseActivity {
playUrl(rs.getString("url"), headers);
} catch (Throwable e) {
e.printStackTrace();
// errorWithRetry("解析错误", false);
errorWithRetry("解析错误", false);
// setTip("解析错误", false, true);
}
}
@ -659,6 +662,7 @@ public class PlayActivity extends BaseActivity {
public void onError(Response<String> response) {
super.onError(response);
errorWithRetry("解析错误", false);
// setTip("解析错误", false, true);
}
});
} else if (pb.getType() == 2) { // json 扩展
@ -674,8 +678,9 @@ public class PlayActivity extends BaseActivity {
@Override
public void run() {
JSONObject rs = ApiConfig.get().jsonExt(pb.getUrl(), jxs, webUrl);
if (rs == null || !rs.has("url")) {
errorWithRetry("解析错误", false);
if (rs == null || !rs.has("url") || rs.optString("url").isEmpty()) {
// errorWithRetry("解析错误", false);//没有url重试也没有重新获取
setTip("解析错误", false, true);
} else {
HashMap<String, String> headers = null;
if (rs.has("header")) {
@ -731,8 +736,9 @@ public class PlayActivity extends BaseActivity {
@Override
public void run() {
JSONObject rs = ApiConfig.get().jsonExtMix(parseFlag + "111", pb.getUrl(), finalExtendName, jxs, webUrl);
if (rs == null || !rs.has("url")) {
errorWithRetry("解析错误", false);
if (rs == null || !rs.has("url") || rs.optString("url").isEmpty()) {
// errorWithRetry("解析错误", false);
setTip("解析错误", false, true);
} else {
if (rs.has("parse") && rs.optInt("parse", 0) == 1) {
runOnUiThread(new Runnable() {

@ -204,7 +204,7 @@ public class GridFragment extends BaseLazyFragment {
else if(homeSourceBean.isQuickSearch() && Hawk.get(HawkConfig.FAST_SEARCH_MODE, false) && enableFastSearch()){
jumpActivity(FastSearchActivity.class, bundle);
}else{
if(video.id == null || video.id.isEmpty()){
if(video.id.isEmpty() || video.id.startsWith("msearch:")){
jumpActivity(SearchActivity.class, bundle);
}else {
jumpActivity(DetailActivity.class, bundle);
@ -243,7 +243,6 @@ public class GridFragment extends BaseLazyFragment {
Toast.makeText(getContext(), "没有更多了", Toast.LENGTH_SHORT).show();
}
}
if(absXml != null && absXml.msg != null && !absXml.msg.isEmpty())Toast.makeText(getContext(), absXml.msg, Toast.LENGTH_SHORT).show();
if (page > maxPage) {
gridAdapter.loadMoreEnd();
} else {

@ -81,7 +81,7 @@ public class ModelSettingFragment extends BaseLazyFragment {
tvFastSearchText = findViewById(R.id.showFastSearchText);
tvFastSearchText.setText(Hawk.get(HawkConfig.FAST_SEARCH_MODE, false) ? "已开启" : "已关闭");
tvShowPreviewText = findViewById(R.id.showPreviewText);
tvShowPreviewText.setText(Hawk.get(HawkConfig.SHOW_PREVIEW, false) ? "开启" : "关闭");
tvShowPreviewText.setText(Hawk.get(HawkConfig.SHOW_PREVIEW, true) ? "开启" : "关闭");
tvDebugOpen = findViewById(R.id.tvDebugOpen);
tvParseWebView = findViewById(R.id.tvParseWebView);
tvMediaCodec = findViewById(R.id.tvMediaCodec);
@ -513,7 +513,7 @@ public class ModelSettingFragment extends BaseLazyFragment {
@Override
public void onClick(View v) {
FastClickCheckUtil.check(v);
Hawk.put(HawkConfig.SHOW_PREVIEW, !Hawk.get(HawkConfig.SHOW_PREVIEW, false));
Hawk.put(HawkConfig.SHOW_PREVIEW, !Hawk.get(HawkConfig.SHOW_PREVIEW, true));
tvShowPreviewText.setText(Hawk.get(HawkConfig.SHOW_PREVIEW, true) ? "开启" : "关闭");
}
});

@ -315,9 +315,11 @@ public class PlayFragment extends BaseLazyFragment {
}
} catch (Throwable th) {
// errorWithRetry("获取播放信息错误", true);
Toast.makeText(mContext, "获取播放信息错误", Toast.LENGTH_SHORT).show();
}
} else {
errorWithRetry("获取播放信息错误", true);
// errorWithRetry("获取播放信息错误", true);
Toast.makeText(mContext, "获取播放信息错误", Toast.LENGTH_SHORT).show();
}
}
});
@ -484,7 +486,7 @@ public class PlayFragment extends BaseLazyFragment {
String playTitleInfo = mVodInfo.name + " " + vs.name;
mController.setTitle(playTitleInfo);
playUrl(null, null);
// playUrl(null, null);
String progressKey = mVodInfo.sourceKey + mVodInfo.id + mVodInfo.playFlag + mVodInfo.playIndex;
//存储播放进度
Object bodyKey=CacheManager.getCache(MD5.string2MD5(progressKey));
@ -664,7 +666,8 @@ public class PlayFragment extends BaseLazyFragment {
playUrl(rs.getString("url"), headers);
} catch (Throwable e) {
e.printStackTrace();
// errorWithRetry("解析错误", false);
errorWithRetry("解析错误", false);
// setTip("解析错误", false, true);
}
}
@ -672,6 +675,7 @@ public class PlayFragment extends BaseLazyFragment {
public void onError(Response<String> response) {
super.onError(response);
errorWithRetry("解析错误", false);
// setTip("解析错误", false, true);
}
});
} else if (pb.getType() == 2) { // json 扩展
@ -687,8 +691,9 @@ public class PlayFragment extends BaseLazyFragment {
@Override
public void run() {
JSONObject rs = ApiConfig.get().jsonExt(pb.getUrl(), jxs, webUrl);
if (rs == null || !rs.has("url")) {
errorWithRetry("解析错误", false);
if (rs == null || !rs.has("url") || rs.optString("url").isEmpty()) {
// errorWithRetry("解析错误", false);
setTip("解析错误", false, true);
} else {
HashMap<String, String> headers = null;
if (rs.has("header")) {
@ -744,8 +749,9 @@ public class PlayFragment extends BaseLazyFragment {
@Override
public void run() {
JSONObject rs = ApiConfig.get().jsonExtMix(parseFlag + "111", pb.getUrl(), finalExtendName, jxs, webUrl);
if (rs == null || !rs.has("url")) {
errorWithRetry("解析错误", false);
if (rs == null || !rs.has("url") || rs.optString("url").isEmpty()) {
// errorWithRetry("解析错误", false);
setTip("解析错误", false, true);
} else {
if (rs.has("parse") && rs.optInt("parse", 0) == 1) {
requireActivity().runOnUiThread(new Runnable() {

@ -188,8 +188,15 @@ public final class IjkMediaPlayer extends AbstractMediaPlayer {
if (libLoader == null)
libLoader = sLocalLibLoader;
try {
libLoader.loadLibrary("ijkffmpeg");
libLoader.loadLibrary("ijksdl");
} catch (Throwable throwable) {
}
libLoader.loadLibrary("player");
mIsLibLoaded = true;
}
}
}

Loading…
Cancel
Save