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

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 云端

更多关于uni-app uni.chooseVideo无法调用前置摄像头的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

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

更多关于uni-app uni.chooseVideo无法调用前置摄像头的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这个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官方文档和社区论坛获取更多帮助。

回到顶部