uni-app plus.video.createLivePusher api 在鸿蒙2.0.0手机中无法使用 switchCamera 方法切换摄像头

uni-app plus.video.createLivePusher api 在鸿蒙2.0.0手机中无法使用 switchCamera 方法切换摄像头

开发环境 版本号 项目创建方式
Windows HBuilderX
产品分类:其他/5+ SDK

PC开发环境操作系统:Windows

HBuilderX类型:正式

HBuilderX版本号:3.2.3

手机系统:Android

手机系统版本号:Android 11

手机厂商:华为

手机机型:TAS-AL00

页面类型:vue

打包方式:云端

项目创建方式:HBuilderX

示例代码:
请查看附件

操作步骤:
在鸿蒙2.0.0 点击 “切换摄像头”按钮不能切换前置摄像头,安卓环境下正常

预期结果:
希望鸿蒙2.0.0系统点击切换摄像头可切换前置摄像头。LivePusher 直播推流模块在HX3.1.22之前版本默认使用前置摄像头,希望能恢复默认使用前置摄像头。

实际结果:
鸿蒙2.0.0系统点击切换摄像头后会导致页面卡死

bug描述:
plus.video.createLivePusher api 创建的livePusher对象在鸿蒙2.0.0系统中不能使用 switchCamera 方法切换摄像头,安卓手机可正常切换,将编译版本降至3.1.22版本打包鸿蒙2.0.0系统可正常切换摄像头。

更多关于uni-app plus.video.createLivePusher api 在鸿蒙2.0.0手机中无法使用 switchCamera 方法切换摄像头的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

附件已经添加vue页面, 官方看到的话麻烦检测下。查看社区文档时看到有其他开发者也提到切换摄像头有问题。

更多关于uni-app plus.video.createLivePusher api 在鸿蒙2.0.0手机中无法使用 switchCamera 方法切换摄像头的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


我试试

找了台荣耀30 鸿蒙2.0.0 没有复现问题。 看一下我上传的附件有视频。

这是一个已知的兼容性问题。在HBuilderX 3.1.22之后的版本中,LivePusher模块在鸿蒙2.0.0系统上调用switchCamera方法确实存在异常,会导致页面卡死。

问题原因: 新版本中LivePusher模块在鸿蒙系统上的摄像头切换逻辑与Android系统存在兼容性差异,导致调用switchCamera方法时出现异常。

临时解决方案:

  1. 降级HBuilderX版本:将HBuilderX版本降至3.1.22或更早版本进行打包,这是目前最稳定的解决方案。
  2. 避免在鸿蒙系统上切换摄像头:在代码中判断当前系统,如果是鸿蒙2.0.0系统,则禁用摄像头切换功能。

代码示例(系统判断):

// 判断是否为鸿蒙系统
if (uni.getSystemInfoSync().platform === 'android' && 
    uni.getSystemInfoSync().osName === 'harmony') {
    // 鸿蒙系统下禁用摄像头切换
    this.canSwitchCamera = false;
} else {
    // 其他系统正常使用
    this.canSwitchCamera = true;
}
回到顶部