uni-app live-pusher 组件 关闭摄像头的情况下操作tabBar隐藏就会闪退 打开摄像头隐藏则不会闪退
uni-app live-pusher 组件 关闭摄像头的情况下操作tabBar隐藏就会闪退 打开摄像头隐藏则不会闪退
类别 | 信息 |
---|---|
产品分类 | uniapp/App |
PC开发环境 | Windows |
PC版本号 | 10 |
HBuilderX | 正式 |
HBuilderX版本 | 4.45 |
手机系统 | Android |
手机版本号 | Android 15 |
手机厂商 | 小米 |
手机机型 | 23113RKC6C 红米K70 |
页面类型 | vue |
vue版本 | vue3 |
打包方式 | 云端 |
项目创建方式 | HBuilderX |
操作步骤:
没出异常提示,直接闪退
预期结果:
希望2个组件不冲突
实际结果:
希望2个组件不冲突
bug描述:
\pages\index\index.vue
关闭摄像头后 执行 aa()
<button class=“btn” @click=“aa”>测试显示隐藏</button>
更多关于uni-app live-pusher 组件 关闭摄像头的情况下操作tabBar隐藏就会闪退 打开摄像头隐藏则不会闪退的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
还发现一个问题,用v-if false 销毁了live-pusher 然后切换APP到后台,在切回前台他会持续在调用录音权限
更多关于uni-app live-pusher 组件 关闭摄像头的情况下操作tabBar隐藏就会闪退 打开摄像头隐藏则不会闪退的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这是一个已知的uni-app live-pusher组件在Android平台上的兼容性问题。当摄像头关闭时操作tabBar隐藏会导致应用闪退,而开启摄像头时则正常。
问题原因:
- live-pusher组件在Android平台上的底层实现存在资源释放问题
- 当摄像头关闭时,组件内部状态处理不当
- 与tabBar的显示/隐藏操作产生冲突
临时解决方案:
- 在操作tabBar前先确保live-pusher组件完全销毁
- 或者保持摄像头开启状态再进行tabBar操作
建议在官方修复前采用以下代码处理:
function aa() {
if(!cameraStatus.value) { // 摄像头关闭状态
// 先重新初始化live-pusher组件
that.$refs.livePusher.stop()
that.$refs.livePusher.start()
setTimeout(() => {
uni.hideTabBar()
}, 300)
} else {
uni.hideTabBar()
}
}