1***@qq.com
1***@qq.com
  • 发布:2023-05-24 16:39
  • 更新:2023-06-08 16:10
  • 阅读:374

【报Bug】uni.chooseVideo选择视频压缩后微信小程序发布,有的视频损坏播放不了或者只显示几帧

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.7.3

第三方开发者工具版本号: 2.32.0

基础库版本号: 3.7.3

项目创建方式: HBuilderX

示例代码:
uni.chooseVideo({  
                mediaType: ['video'],  
                sourceType: ['album'],  
                compressed:true, // 视频压缩-开启  
                success: function(res) {  
                    console.log(res,'chooseVideo');  
                    uni.showLoading({  
                        title: '视频上传中',  
                        mask: true  
                    });  
                    let kbsize=res.size;  
                            uni.uploadFile({  
                                url:  
                                    api.imageUpload +  
                                    '?biz=video_' +  
                                    self.mydate,  
                                filePath: res.tempFilePath,  
                                name: 'file',  
                                header: {  
                                    'X-Access-Token': uni.getStorageSync(  
                                        'token'  
                                    )  
                                },  
                                success: res => {  
                                    console.log(res,'uploadFile');  
                                    console.log(kbsize,'kbsize');  
                                    setTimeout(() =>{  
                                        uni.hideLoading();  
                                    }, 3000);  
                                    if (JSON.parse(res.data).success) {  
                                        if(kbsize<502400){  
                                            self.msgType = 'error';  
                                            self.messageText = `当前视频可能压缩损坏,建议长按删除视频重新上传!`;  
                                            self.$refs.message.open();  
                                        }  
                                        if (i == 'videosrc') {  
                                            self.videosrc = JSON.parse(  
                                                res.data  
                                            ).message;  
                                            self.videoname =  
                                                self.picServer +  
                                                JSON.parse(res.data).message;  
                                        } else {  
                                            self.videosrc1 = JSON.parse(  
                                                res.data  
                                            ).message;  
                                            self.videoname1 =  
                                                self.picServer +  
                                                JSON.parse(res.data).message;  
                                        }  
                                        console.log(  
                                            self.videosrc,  
                                            'self.videosrc'  
                                        );  
                                        console.log(  
                                            self.videosrc1,  
                                            self.videoname1,  
                                            'self.videosrc1'  
                                        );  
                                    } else {  
                                        uni.showToast({  
                                            title: `视频上传失败,请重新上传!`,  
                                            duration: 2000,  
                                            icon: 'none'  
                                        });  
                                    }  
                                },  
                                fail: () => {  
                                    uni.hideLoading();  
                                    uni.showToast({  
                                        title: `视频上传失败,请重新上传!`,  
                                        duration: 2000,  
                                        icon: 'none'  
                                    });  
                                },  
                                complete: () => {  
                                }  
                            });  
                },  
                fail: function(err) {  
                    uni.hideLoading();  
                    this.msgType = 'error';  
                    this.messageText = err;  
                    this.$refs.message.open();  
                }  
            });

操作步骤:

1.点击上传视频
2.上传视频调用uni.chooseVideo方法,启用压缩
3.上传视频(在附件中的视频,视频只会显示几帧)

预期结果:

上传视频成功都能看

实际结果:

视频有声音只能看到几帧画面就不动了

bug描述:

uni.chooseVideo选择视频后微信小程序发布,视频损坏播放不了,压缩损坏的视频,有声音但画面只显示几帧,不压缩视频过大无法上传;测试都正常,这种情况是随机的 有些视频压缩可以 有些不可以,有问题的视频一直压缩损坏,但如果对问题视频发送到微信重新下载,再次压缩就可以(视频来源:马克相机)

2023-05-24 16:39 负责人:无 分享
已邀请:
DCloud_UNI_GSQ

DCloud_UNI_GSQ

到微信小程序社区反馈一下。

要回复问题请先登录注册