admin
2021-08-28 900a28b47a7b4ce1d52c6dd7d0aa7614306c6ccc
app/src/com/hanju/video/app/ui/media/VideoDetailActivity.java
@@ -219,6 +219,8 @@
            resourceId = bundle.getString("ResourceId");
            detailid = bundle.getString("DetailId");
        }
        //TODO 测试
        videoInfo.setId("8457562");
        if (!StringUtils.isNumeric(videoInfo.getId())) {
            iv_favourite.setVisibility(View.GONE);
        } else {
@@ -351,59 +353,26 @@
            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) {
@@ -447,6 +416,63 @@
                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) {
@@ -832,9 +858,13 @@
                                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);