wangyang324 发表于 2022-12-7 02:14:06

ckplayer x3在苹果ios系统微信中不能播放的问题(附解决方案)

今天在使用了ckplayer x3发现在PC端 安卓端测试都不错
但是在苹果系统中 使用微信打开则会出现视频无法播放 就是黑屏的啥提示都没有
在论坛搜了一下发现很多人存在这个问题且没有解决:
https://bbs.ckplayer.com/forum.php?mod=viewthread&tid=183&fromuid=62909

我自己测试了好多遍,虽然找到了解决的方法,但是也比较曲折,好像是ckplayer的对象要加载两次才行
就是第一次加载之后要调用remove() 再重新初始化就可以了,而且第二次初始化还不能通过js自动执行(setTimeout click等测试过都不行)
必须在div中通过点击事件销毁再重新创建就可以了 这里面应该是有点什么问题 希望版主能检查并修复一下
下面附代码:
    <body id="page-top">
                <div id="content">
                        <div class="video" onclick="loadPlayer()"></div>
                </div>
                <script>
                function loadPlayer(){
                  player.remove(); //通过div点击事件销毁实例并重新载入
                  player=null;
                  $('.video').html('');
                  $(".video").removeAttr('onclick'); //移除onclick事件防止重复销毁再创建
                var videoObject = {
                        container: '.video',                         //容器的ID或className
                        poster:'{$data.video_image}',
                        video:'{$data.video_file}',       
                        autoplay: true,                                 //第二次开启自动播放 效果就是用户点一下div就能播放了
                        rightBar:true,                                        //类似于只加载了一次但是没有开启自动播放的效果
                        screenshot:true,
                        smallWindows:true,
                        playbackrateOpen:true,
                        webFull:true,
                        theatre:true,
                        ended:'.video-ended',
                  };
              player=new ckplayer(videoObject); //重新实例化一次就可以播放了
      };

                        var videoObject = {
                          autoplay:false,
                                container: '.video',                         //视频容器
                                poster:'{$data.video_image}',        //封面图片
                                video:'{$data.video_file}',                //视频地址
                                loaded:'loadPlayer()'
                        }
                        var player=new ckplayer(videoObject);//网页加载时实例化一次ckplayer
                </script>
      <script src="__CDN__/assets/libs/jquery/dist/jquery.min.js"></script>
      <script src="__CDN__/assets/libs/bootstrap/dist/js/bootstrap.min.js"></script>
    </body>这样效果跟一次加载播放器但是没有开启自动播放差不多,用户也是点一下div就能播放了,再移除div的onclick事件,算是曲线解决了问题
希望版主能检查一下其中的原因并更新一下,存在这个问题的人还是挺多的.



页: [1]
查看完整版本: ckplayer x3在苹果ios系统微信中不能播放的问题(附解决方案)