uni-app livePusher组件无法调用相机

uni-app livePusher组件无法调用相机

操作步骤:

  • 下载安装包,在考勤/签到签退时调用livePusher组件时会出现问题,无法调用相机

预期结果:

  • 进入考勤签退页面,会调用livePusher组件自动截图拍照人脸识别,完成打卡功能

实际结果:

  • 进入考勤签退页面,调用livePusher组件时,会提示获取相机权限,但无法调起相机

bug描述:

  • livePusher组件无法调用摄像头
信息类别 信息内容
产品分类 uniapp/App
PC开发环境 Windows
PC操作系统版本 win10
HBuilderX类型 正式
HBuilderX版本 3.4.7
手机系统 Android
手机系统版本 Android 11
手机厂商 OPPO
手机机型 oppoReno5,oppoA95
页面类型 nvue
Vue版本 vue2
打包方式 离线
项目创建方式 HBuilderX
App下载地址或H5网址 https://www.pgyer.com/Otjw

更多关于uni-app livePusher组件无法调用相机的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

this.context.startPreview({success: (a) => {}}); 在这一步调用相机时没有报错,但就是无法调用相机

更多关于uni-app livePusher组件无法调用相机的实战教程也可以访问 https://www.itying.com/category-93-b0.html


一样的问题,总是提示请确认权限是否打开,我看了相机权限打开了

原因是FileProvide 未配置
解决方法:
https://nativesupport.dcloud.net.cn/AppDocs/FAQ/android
离线打包Android 10上无法启动相机
在application节点下添加provider节点
<provider

android:name="io.dcloud.common.util.DCloud_FileProvider"    

android:authorities="${apk.applicationId}.dc.fileprovider"    

android:exported="false"    

android:grantUriPermissions="true">    

<meta-data    

    android:name="android.support.FILE_PROVIDER_PATHS"    

    android:resource="@xml/dcloud_file_provider" />    
</provider> Copy to clipboardErrorCopied ${apk.applicationId}须替换成应用的包名。

解决的话点个感谢哦~

uni-app 中使用 live-pusher 组件时,如果无法调用相机,可能是由于以下几个原因导致的。你可以逐一排查这些问题:

1. 权限问题

  • 描述: 应用没有获取到相机权限,导致无法调用相机。
  • 解决方案:
    • 确保在 manifest.json 中正确配置了相机权限。
    {
      "permission": {
        "scope.camera": {
          "desc": "需要使用相机进行直播"
        }
      }
    }
    
    • 在应用中动态请求相机权限:
    uni.authorize({
      scope: 'scope.camera',
      success() {
        console.log('已授权相机权限');
      },
      fail() {
        console.log('未授权相机权限');
      }
    });
    

2. live-pusher 组件的配置问题

  • 描述: live-pusher 组件的配置不正确,导致无法正常调用相机。
  • 解决方案:
    • 确保 live-pusher 组件的 camera 属性正确配置。例如:
    <live-pusher
      id="livePusher"
      url="rtmp://your.rtmp.url"
      mode="SD"
      autopush
      enable-camera
      camera="front"
      @statechange="onStateChange"
    ></live-pusher>
回到顶部