9***@qq.com
9***@qq.com
  • 发布:2020-09-03 16:03
  • 更新:2021-05-15 14:25
  • 阅读:1442

【报Bug】直播项目h5引入videojs开启摇树优化后发行h5版本报live-player未找到,关闭摇树优化正常

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 10

HBuilderX类型: 正式

HBuilderX版本号: 2.7.9

浏览器平台: Chrome

浏览器版本: 3.0.1.6

项目创建方式: HBuilderX

示例代码:

<view class="video-js vjs-big-play-centered " ref="video" style="width: 100vw;height: 100vh;"></view>

        createVideo() {  

            var video = document.createElement('video')  
            video.id = 'video';  
            video.setAttribute("playsinline", "true");  
            video.setAttribute("webkit-playsinline", "true");  
            video.setAttribute("x5-video-player-type", "h5-page");  
            // video.setAttribute("width",this.winWidth);  
            //  video.setAttribute("height",this.winHeight);  
             video.setAttribute("style", `object-fit:fill;width:${this.winWidth};height:${this.winHeight};background-color:#111111`);  
            video.controls = false;  
            video.autoplay = true;  
            video.preload = "auto";  
            video.playsinline = false; //解决在iPhone中播放时自动全屏问题  
            var source = document.createElement('source')  
            source.src = this.url;  

            source.type = "application/x-mpegURL"  
            video.appendChild(source)  
            this.$refs.video.$el.appendChild(video)  
            let that = this;  

            let player = videojs('video', {  
                autoplay: 'play',  
                preload: 'auto'  
            }, function onPlayerReady() {  

                //  
                //                    videojs.players.video.player_.play()  
                console.log(videojs.players.video.player);  
                //                    this.play();  
                this.on("loadstart", () => {  
                    console.log("开始请求数据 ");  
                    videojs.log('正在加载中...!');  
                })  
                this.on("progress", function() {  
                    console.log("正在请求数据 ");  
                })  
                this.on("loadedmetadata", function() {  
                    console.log("获取资源长度完成 ")  
                })  
                this.on("canplaythrough", function() {  
                    console.log("视频源数据加载完成")  
                })  
                this.on("waiting", function() {  
                    console.log("等待数据")  
                });  
                this.on("play", function() {  
                    that.hidePlayBtn = true;  
                    console.log("视频开始播放")  
                });  
                this.on("playing", function() {  

                    uni.hideLoading();  
                    console.log("视频播放中")  
                });  
                this.on("pause", function() {  
                    uni.hideLoading();  
                    console.log("视频暂停播放")  
                    that.hidePlayBtn = false;  
                });  
                this.on("ended", function() {  
                    console.log("视频播放结束");  
                });  
                this.on("error", function() {  
                    uni.hideLoading();  
                    console.log("加载错误")  
                    this.errorDisplay.close();   //将错误信息不显示  
                    // 提示信息,并放出播放按钮  
                    that.$mptoast('直播还未开始',2);  
                    this.pause();  
                });  
                this.on("seeking", function() {  
                    console.log("视频跳转中");  
                })  
                this.on("seeked", function() {  
                    console.log("视频跳转结束");  
                })  
                this.on("ratechange", function() {  
                    console.log("播放速率改变")  
                });  
                this.on("timeupdate", function() {  
                    console.log("播放时长改变");  
                })  
                this.on("volumechange", function() {  
                    console.log("音量改变");  
                })  
                this.on("stalled", function() {  
                    console.log("网速异常");  
                })  

            })  

        },

操作步骤:

1.项目中使用videojs
2.开启h5摇树优化
3.发行h5版本

预期结果:

正常编译

实际结果:

文件查找失败:'uni-view/components/live-player' at C:\Users\Administrator\Desktop\HBuilderX.2.3.3.20190923.full\HBuilderX\plugins\uniapp-cli\node_modules\@dcloudio\vue-cli-plugin-uni-optimize.tmp\components.js:31

bug描述:

h5端引入videojs,在发行时起用h5摇树优化,报找不到uni-view/components/live-player 文件查找失败:'uni-view/components/live-player' at C:\Users\Administrator\Desktop\HBuilderX.2.3.3.20190923.full\HBuilderX\plugins\uniapp-cli\node_modules\@dcloudio\vue-cli-plugin-uni-optimize.tmp\components.js:31

关闭摇树优化正常

2020-09-03 16:03 负责人:无 分享
已邀请:
9***@qq.com

9***@qq.com (作者)

官方是否可以提供摇树优化白名单功能,摇树优化时自动跳过白名单中的组件的审查,或许可以根除

3***@qq.com

3***@qq.com

解决了吗,没人管?

剩人

剩人

同样的问题

  • 3***@qq.com

    我这边弄好了,加一个平台的判断就行了

    2021-05-15 15:10

  • 剩人

    回复 3***@qq.com: 后来发现确实是在h5下不支持那个模块,所以加了判断就好了。感谢您的回复!

    2021-05-24 12:04

该问题目前已经被锁定, 无法添加新回复