猿问

为什么videojs不一直播放,只在第一次播放

我正在使用最新升级的videojs插件(工作正常)。7.6.54.*4.*

我已经模拟了我的项目使用videojs.

我想通过更改 html 内容在同一个对话框中显示图像或视频

问题: videojs播放器不是每次都加载或播放(仅第一次播放),如何使其一直播放。

重现我的问题的步骤:

  1. 请参阅下面的代码片段或转到此 codepen 链接 https://codepen.io/eabangalore/pen/PoPwQjZ

  2. 等待 30 秒 videojs 将第一次正确出现在对话框中。

3.对话框将消失,图像将显示。

  1. 再等 30 秒,videojs 将无法加载。

下面是我的代码:

function initializePlayer(){

          var player = videojs('vplayer', {inactivityTimeout: 0});

                  player.ready(function() {

                    player.src({

                      src: "https://vjs.zencdn.net/v/oceans.webm",

                      type: "video/webm"

                   });

                 });

}


var showCloseNum = 0;

var intId = setInterval(function(){

           showCloseNum++;

           $('#videojs_player_dialog').dialog({

            modal: true,

            resizable: false,

            autoOpen: false,

             width: 600,

             height: 350,

            open: function(){

                 var player = `

        <video  disablepictureinpicture="" autoplay controlslist="nodownload"  id="vplayer" class="video-js vjs-default-skin"  controls muted data-setup='{ "inactivityTimeout": 0}' style="width:600;height:350;">

                <source src="#"></source>

            </video>

                `;

              

              var image = '<img src="https://via.placeholder.com/468x60?text=Visit+Blogging.com+NoC/O https://placeholder.com/">';

              

              if(showCloseNum % 2 == 0){

                              $('#videojs_player_dialog').html(player);

initializePlayer();

              }else{

                $('#videojs_player_dialog').html(image);

              }

            

                

             },

             beforeClose: function () {

                 $('#videojs_player_dialog').html('');

                 $(this).dialog('destroy');

              }

         });

    if(showCloseNum % 2 == 0){

       $('#videojs_player_dialog').dialog('open');

        

    }else{

      $('#videojs_player_dialog').dialog('close');

    }

},6000);


犯罪嫌疑人X
浏览 111回答 1
1回答

qq_花开花谢_0

您需要处理该播放器,而不仅仅是删除其元素,否则您无法初始化具有相同 id 的其他播放器。videojs.getPlayer('vplayer').dispose()
随时随地看视频慕课网APP

相关分类

Html5
我要回答