鍍金池/ 問答/影視  HTML/ video.js,銷毀之前實例重新初始化,初始化不了

video.js,銷毀之前實例重新初始化,初始化不了

我在demo中銷毀之前實例重新初始化,是ok的:

var handler = function () {
    alert(12111);
}
var handler1 = function () {
    alert(22222);
}
var player;
play(handler);
function play(handler) {
    videojs("example_video_1",
        {
            "techOrder": ['html5', 'flash'],
            fluid: true,
            "controls": true,
            "bigPlayButton": false,
            flash: {
                swf: 'js/swf/video-js.swf'
            },
            controlBar: {
                muteToggle: false,
                captionsButton: false,
                chaptersButton: false,
                playbackRateMenuButton: false,
                LiveDisplay: false,
                subtitlesButton: false,
                remainingTimeDisplay: false,
                progressControl: false,
                volumeMenuButton: {
                    inline: false,
                    vertical: true
                },//豎著的音量條
                fullscreenToggle: false
            }
        }
        , function () {
            var id = $("#example_video_1").find("video")[0].id;
            player = this;
            player.src("http://180.97.83.70:30220/media/adinfo/2018/05/1920x1080_1.mp4");
            player.play();
            $("#example_video_1").find("button").show();
            console.log(player.duration())
            this.on('loadeddata', handler);
            this.on('ended', function () {
                this.pause();
            })
        });
}
setTimeout(function () {
    player.dispose();
    $("#bt").before('<video id="example_video_1" class="video-js vjs-default-skin" controls width="640" height="264"></video>')
    play(handler1);
}, 3000);

但是自己的項目,第一次初始化可以,第二次先銷毀再初始化,卻初始化不了:
//video.js 初始化video
    function playWithVideoJs(handler,url) {
        var divFirst = $("#NER_EshowadvImgAdv_ad").parent().find("div")[0];
        if (notNull(divFirst) && divFirst.id == "NER_EshowadvVideoAdv_ad") {
            $("#NER_EshowadvImgAdv_ad").parent().find("div")[0].remove();
            $("#NER_EshowadvImgAdv_ad").after('<video id="NER_EshowadvVideoAdv_ad" controls class="video-js vjs-default-skin vjs-big-play-centered vjs-fluid"></video>');
        }
        if (notNull(myPlayer1)) {
            myPlayer1.dispose();
        }
        videojs('NER_EshowadvVideoAdv_ad', {
            "techOrder": ['html5', 'flash'],
            fluid: true,
            example_option: true,
            // "controls": false,
            "bigPlayButton": false,
            flash: {
                swf: 'js/swf/video-js.swf'
            },
            controlBar: {
                muteToggle: false,
                captionsButton: false,
                chaptersButton: false,
                playbackRateMenuButton: false,
                LiveDisplay: false,
                subtitlesButton: false,
                remainingTimeDisplay: false,
                progressControl: false,
                volumeMenuButton: {
                    inline: true,
                    vertical: false
                },//豎著的音量條
                fullscreenToggle: false
            }
        }, function () {
            myPlayer1 = this;
            var videoID = $("#NER_EshowadvVideoAdv_ad").find("video")[0].id;
            $("#" + videoID).prop("src", url);
            // $("#NER_EshowadvVideoAdv_ad").find("button").off("click").on("click", function () {
            $("#NER_EshowadvVideoAdv_ad").find("video")[0].play();
            // });
            //暫停--播放完畢后也會暫停
            this.on('loadedmetadata', handler);
        });
    }

clipboard.png

clipboard.png

clipboard.png

這是什么問題???第一次用video.js,跪求大神指點,謝謝...

回答
編輯回答
卟乖

你的銷毀應(yīng)該是把video標簽給移除了

2017年8月18日 03:04