| | |
| | | resourceId = bundle.getString("ResourceId"); |
| | | detailid = bundle.getString("DetailId"); |
| | | } |
| | | //TODO 测试 |
| | | videoInfo.setId("8457562"); |
| | | if (!StringUtils.isNumeric(videoInfo.getId())) { |
| | | iv_favourite.setVisibility(View.GONE); |
| | | } else { |
| | |
| | | return; |
| | | } |
| | | |
| | | mAquery.id(R.id.pb_loading).visibility(View.VISIBLE); |
| | | |
| | | //开始解析视频 |
| | | String tempUrl = "https://www.hmtv.me/vplay/MTEzMS0xLTA=.html"; |
| | | // String tempUrl = "https://www.hmtv.me/vplay/MTEwMC0zLTE=.html"; |
| | | |
| | | List<VideoPlayUrlParseFragment.ParseParams> parseParams = new ArrayList<>(); |
| | | String js = "function parseResult(url, data) {console.log(data); try {var result =JSON.parse( data);if (result.code == 200) {return result.url.replace('/\"/g', '');}} catch (e) {if (url.indexOf('.m3u8') > -1) { return url;}}return null;};"; |
| | | |
| | | // String js = "function parseResult(url) {return url;}"; |
| | | // |
| | | // |
| | | // if (1 > 0) |
| | | // return; |
| | | |
| | | |
| | | parseParams.add(new VideoPlayUrlParseFragment.ParseParams("^(https://){1}.*(\\.m3u8)$", js, false)); |
| | | |
| | | parseParams.add(new VideoPlayUrlParseFragment.ParseParams("^(https://chaoren\\.sc2yun\\.com/superman\\.php)", js, true)); |
| | | |
| | | |
| | | videoPlayUrlParseFragment.startParse(tempUrl, parseParams, new VideoPlayUrlParseFragment.IVideoParseListener() { |
| | | @Override |
| | | public void onSuccess(String result) { |
| | | runOnUiThread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | mAquery.id(R.id.pb_loading).visibility(View.GONE); |
| | | if (mVideoPlayerFragment == null) { |
| | | mVideoPlayerFragment = VideoPlayerFragment.newInstance("测试标题", tempUrl, result); |
| | | getSupportFragmentManager().beginTransaction().replace(R.id.fl_player, mVideoPlayerFragment).commitAllowingStateLoss(); |
| | | } else |
| | | mVideoPlayerFragment.setVideoInfo("测试标题", tempUrl, result); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | @Override |
| | | public void onFail(String msg) { |
| | | |
| | | } |
| | | }); |
| | | |
| | | |
| | | if (1 > 0) |
| | | return; |
| | | |
| | | |
| | | if (playUrl.getPlayType() != 1) {//测试 |
| | | setViewOrientation(); |
| | | } |
| | | // if (playUrl.getPlayType() != 1) {//测试 |
| | | // setViewOrientation(); |
| | | // } |
| | | for (int i = 0; i < videoInfo.getResourceList().size(); i++) { |
| | | if (playUrl.getResource().getId().equalsIgnoreCase(videoInfo.getResourceList().get(i).getId())) { |
| | | videoInfo.getResourceList().get(i).setChecked(true); |
| | | } else { |
| | | videoInfo.getResourceList().get(i).setChecked(false); |
| | | } |
| | | } |
| | | |
| | | if (mVideoPlayerFragment != null) { |
| | | getSupportFragmentManager().beginTransaction().remove(mVideoPlayerFragment).commitAllowingStateLoss(); |
| | | mVideoPlayerFragment = null; |
| | | } |
| | | if (playUrl.getResource().getName().contains("爱奇艺")) { |
| | | if (playUrl != null) { |
| | |
| | | intent.putExtra("url", playUrl.getUrl()); |
| | | startActivity(intent); |
| | | saveWatchHistory("风行"); |
| | | } |
| | | } else if (playUrl.getResource().getName().contains("韩迷")) { |
| | | |
| | | if (playUrl.getPlayType() == 0) { |
| | | Toast.makeText(VideoDetailActivity.this, "此节目不可播!", |
| | | Toast.LENGTH_LONG).show(); |
| | | return; |
| | | } else if (playUrl.getPlayType() == 1) { |
| | | Intent intent = new Intent(VideoDetailActivity.this, |
| | | FXBrowserActivity.class); |
| | | intent.putExtra("url", playUrl.getUrl()); |
| | | startActivity(intent); |
| | | saveWatchHistory(playUrl.getResource().getName()); |
| | | } else if (playUrl.getPlayType() == 2) { |
| | | //原生播放 |
| | | mAquery.id(R.id.pb_loading).visibility(View.VISIBLE); |
| | | //开始解析视频 |
| | | String tempUrl = playUrl.getUrl(); |
| | | |
| | | List<VideoPlayUrlParseFragment.ParseParams> parseParams = new ArrayList<>(); |
| | | String js = "function parseResult(url, data) {console.log(data); try {var result =JSON.parse( data);if (result.code == 200) {return result.url.replace('/\"/g', '');}} catch (e) {if (url.indexOf('.m3u8') > -1) { return url;}}return null;};"; |
| | | |
| | | |
| | | parseParams.add(new VideoPlayUrlParseFragment.ParseParams("^(https://){1}.*(\\.m3u8)$", js, false)); |
| | | |
| | | parseParams.add(new VideoPlayUrlParseFragment.ParseParams("^(https://chaoren\\.sc2yun\\.com/superman\\.php)", js, true)); |
| | | videoPlayUrlParseFragment.startParse(tempUrl, parseParams, new VideoPlayUrlParseFragment.IVideoParseListener() { |
| | | @Override |
| | | public void onSuccess(String result) { |
| | | runOnUiThread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | mAquery.id(R.id.pb_loading).visibility(View.GONE); |
| | | |
| | | VideoDetailInfo detailInfo = null; |
| | | if (mPosition < videoInfo.getVideoDetailList().size()) |
| | | detailInfo = videoInfo.getVideoDetailList().get(mPosition); |
| | | String videoName = videoInfo.getName(); |
| | | if (detailInfo != null && !videoName.equalsIgnoreCase(detailInfo.getTag())) { |
| | | videoName += " " + detailInfo.getTag(); |
| | | } |
| | | |
| | | if (mVideoPlayerFragment == null) { |
| | | mVideoPlayerFragment = VideoPlayerFragment.newInstance(videoName, tempUrl, result); |
| | | getSupportFragmentManager().beginTransaction().replace(R.id.fl_player, mVideoPlayerFragment).commitAllowingStateLoss(); |
| | | } else |
| | | mVideoPlayerFragment.setVideoInfo(videoName, tempUrl, result); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | @Override |
| | | public void onFail(String msg) { |
| | | |
| | | } |
| | | }); |
| | | saveWatchHistory(playUrl.getResource().getName()); |
| | | } |
| | | } else { |
| | | if (playUrl.getPlayType() == 0) { |
| | |
| | | |
| | | initResource(); |
| | | |
| | | |
| | | Glide.with(getApplicationContext()) |
| | | .load(videoInfo.getPlayPicture()).apply(new RequestOptions().centerCrop()).into(target); |
| | | if (StringUtils.isEmpty(videoInfo.getPlayPicture())) { |
| | | Glide.with(getApplicationContext()) |
| | | .load(videoInfo.getPicture()).apply(new RequestOptions().centerCrop()).into(target); |
| | | } else { |
| | | Glide.with(getApplicationContext()) |
| | | .load(videoInfo.getPlayPicture()).apply(new RequestOptions().centerCrop()).into(target); |
| | | } |
| | | if (isSetup) { |
| | | int position = getIntent().getIntExtra( |
| | | "playing_position", 0); |