uni-app uni.chooseVideo无法调用前置摄像头

发布于 1周前 作者 ionicwang 来自 uni-app

uni-app uni.chooseVideo无法调用前置摄像头

产品分类

uniapp/App

示例代码

uni.chooseVideo({
  sourceType: ['camera'],
  camera: 'front',
  success: function (res) {
    console.log(res)
  },
})

操作步骤

uni.chooseVideo({
  sourceType: ['camera'],
  camera: 'front',
  success: function (res) {
    console.log(res)
  },
})

预期结果

调用前置摄像头

实际结果

调用了后置摄像头

bug描述

chooseVideo无法调用前置摄像头,每次都是默认调用后置

开发环境与版本信息

项目创建方式 CLI版本号 PC开发环境操作系统 PC开发环境操作系统版本号 手机系统 手机系统版本号 手机厂商 手机机型 页面类型 vue版本 打包方式
CLI 3.8.2 Windows win10 Android Android 12 华为 华为p50 vue vue3 云端

4 回复

的确如此,安卓真机会这样。我测试 ios 会默认前置摄像头。bug 已确认,感谢反馈


这个BUG什么时候能修复呢

android端由于系统或ROM的限制,camera设置’front’属性在部分手机上不生效。

在uni-app中,uni.chooseVideo API 默认情况下会调用后置摄像头。如果你想调用前置摄像头,可以通过设置 camera 参数来实现。以下是一个示例代码,展示了如何调用前置摄像头录制视频。

首先,确保你的uni-app项目已经正确配置了相关的权限,比如在 manifest.json 文件中添加必要的权限声明(如果需要的话,这取决于平台):

"mp-weixin": { // 示例:微信小程序平台配置
    "permission": {
        "scope.camera": {
            "desc": "你的位置信息将用于小程序拍照"
        }
    }
}

然后,在你的页面或组件中,你可以使用以下代码来调用前置摄像头录制视频:

<template>
  <view>
    <button @click="chooseVideo">录制视频(前置摄像头)</button>
    <video :src="videoSrc" controls></video>
  </view>
</template>

<script>
export default {
  data() {
    return {
      videoSrc: ''
    };
  },
  methods: {
    chooseVideo() {
      uni.chooseVideo({
        count: 1, // 只选择一段视频
        sourceType: ['camera'], // 从相机选择
        camera: 'front', // 使用前置摄像头
        success: (res) => {
          this.videoSrc = res.tempFilePath; // 获取视频文件的临时路径
          console.log('视频文件路径:', res.tempFilePath);
        },
        fail: (err) => {
          console.error('调用前置摄像头失败:', err);
        }
      });
    }
  }
};
</script>

<style>
/* 添加你的样式 */
</style>

在这个示例中,我们定义了一个按钮和一个视频播放器。点击按钮时,会调用 chooseVideo 方法,该方法使用 uni.chooseVideo API 并设置 camera 参数为 'front' 来指定使用前置摄像头。录制成功后,视频文件的临时路径会被赋值给 videoSrc,然后视频播放器将显示录制的视频。

请注意,不同的平台(如微信小程序、H5、App等)可能会有不同的权限要求和限制。确保在实际应用中处理好权限申请和用户授权流程,特别是在用户首次使用摄像头功能时。

此外,如果你在某些平台上遇到调用前置摄像头失败的问题,请检查该平台是否有特定的限制或要求,并参考uni-app官方文档和社区论坛获取更多帮助。

回到顶部