月冰华
月冰华
  • 发布:2022-10-27 16:18
  • 更新:2024-10-23 16:33
  • 阅读:346

【报Bug】livePusher 快照闪退

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.6.7

手机系统: Android

手机系统版本号: Android 7.1.1

手机厂商: 华为

手机机型: 任意

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
uni.createLivePusherContext("livePusher", this).snapshot({  
                    success: (e) => {  
                        console.log('回调');  
                        console.log(JSON.stringify(e));  
                    }  
                });

操作步骤:
uni.createLivePusherContext("livePusher", this).snapshot({  
                    success: (e) => {  
                        console.log('回调');  
                        console.log(JSON.stringify(e));  
                    }  
                });

预期结果:
返回快照数据

实际结果:
闪退

bug描述:

livePusher直推流使用快照方法时没有触发回调事件,并且运行两次就会闪退

2022-10-27 16:18 负责人:无 分享
已邀请:
DCloud_Android_DQQ

DCloud_Android_DQQ

提供一个可以复现问题的完整示例代码

  • 月冰华 (作者)

    <template>

    <view>

    <live-pusher id='livePusher' ref="livePusher" class="livePusher" url=""

    mode="SD" :muted="true" :enable-camera="true" :auto-focus="true" :beauty="1" whiteness="2"

    aspect="9:16" @statechange="statechange" @netstatus="netstatus" @error = "error"

    ></live-pusher>

    <button class="btn" @click="start">开始推流</button>

    <button class="btn" @click="pause">暂停推流</button>

    <button class="btn" @click="resume">resume</button>

    <button class="btn" @click="stop">停止推流</button>

    <button class="btn" @click="snapshot">快照</button>

    <button class="btn" @click="startPreview">开启摄像头预览</button>

    <button class="btn" @click="stopPreview">关闭摄像头预览</button>

    <button class="btn" @click="switchCamera">切换摄像头</button>

    </view>

    </template>

    <script>

    export default {

    data() {

    return {}

    },

    onReady() {

    // 注意:需要在onReady中 或 onLoad 延时

    this.context = uni.createLivePusherContext("livePusher", this);

    },

    methods: {

    statechange(e) {

    console.log("statechange:" + JSON.stringify(e));

    },

    netstatus(e) {

    console.log("netstatus:" + JSON.stringify(e));

    },

    error(e) {

    console.log("error:" + JSON.stringify(e));

    },

    start: function() {

    this.context.start({

    success: (a) => {

    console.log("livePusher.start:" + JSON.stringify(a));

    }

    });

    },

    close: function() {

    this.context.close({

    success: (a) => {

    console.log("livePusher.close:" + JSON.stringify(a));

    }

    });

    },

    snapshot: function() {

    this.context.snapshot({

    success: (e) => {

    console.log(JSON.stringify(e));

    }

    });

    },

    resume: function() {

    this.context.resume({

    success: (a) => {

    console.log("livePusher.resume:" + JSON.stringify(a));

    }

    });

    },

    pause: function() {

    this.context.pause({

    success: (a) => {

    console.log("livePusher.pause:" + JSON.stringify(a));

    }

    });

    },

    stop: function() {

    this.context.stop({

    success: (a) => {

    console.log(JSON.stringify(a));

    }

    });

    },

    switchCamera: function() {

    this.context.switchCamera({

    success: (a) => {

    console.log("livePusher.switchCamera:" + JSON.stringify(a));

    }

    });

    },

    startPreview: function() {

    this.context.startPreview({

    success: (a) => {

    console.log("livePusher.startPreview:" + JSON.stringify(a));

    }

    });

    },

    stopPreview: function() {

    this.context.stopPreview({

    success: (a) => {

    console.log("livePusher.stopPreview:" + JSON.stringify(a));

    }

    });

    }

    }

    }

    </script>

    2022-10-28 11:42

  • DCloud_Android_DQQ

    回复 月冰华: 打包一个hx项目发一下。

    2022-10-31 15:27

saoge

saoge - 前端开发者

请问一下这个问题是如何解决的呢

要回复问题请先登录注册