更新记录
1.0.0(2025-08-22)
提供最基础的打开/关闭(前置/后置)摄像头,开始/停止录制视频
平台兼容性
云端兼容性
阿里云 | 腾讯云 | 支付宝云 |
---|---|---|
√ | √ | √ |
uni-app(4.11)
Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
---|---|---|---|---|---|---|---|---|
- | √ | - | - | - | - | 10.0 | - | - |
微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
---|---|---|---|---|---|---|---|---|---|---|
- | - | - | - | - | - | - | - | - | - | - |
uni-app x(4.21)
Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
---|---|---|---|---|---|
- | - | - | - | - | - |
其他
多语言 | 暗黑模式 | 宽屏模式 |
---|---|---|
× | × | √ |
@/uni_modules/demonrain-camera 方法说明
以下方法均返回
Promise
,调用时务必使用await
或.then
。
createCameraView(options)
打开摄像头并渲染到指定位置,如果重复调用多次只会有一个实例,并以最后一次调用传入的参数为准。
参数名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
x | number | 是 | - | 摄像头预览框左上角 x 坐标(像素) |
y | number | 是 | - | 摄像头预览框左上角 y 坐标(像素) |
width | number | 是 | - | 摄像头预览框宽度(像素) |
height | number | 是 | - | 摄像头预览框高度(像素) |
quality | string | 否 | "HD" | 画质,可选值:"HD" 、"FHD" 、"UHD" |
facing | string | 否 | "BACK" | 摄像头方向,可选值:"BACK" (后置)、"FRONT" (前置) |
示例
await createCameraView({
x: 0,
y: 0,
width: 800,
height: 600,
quality: "HD",
facing: "BACK",
});
startRecording(filePath)
开始视频录制。
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
filePath | string | 是 | 视频文件的完整保存路径 |
示例
const filePath = `/storage/emulated/0/DCIM/Camera/test_${Date.now()}.mp4`;
await startRecording(filePath);
stopRecording()
停止录制并返回结果。
返回值
字段名 | 类型 | 说明 |
---|---|---|
success | boolean | 是否成功 |
filePath | string | 实际保存路径 |
duration | number | 时长(毫秒) |
size | number | 文件大小(字节) |
示例
const res = await stopRecording();
console.log(res);
stopCameraView()
关闭摄像头并销毁预览框。
示例
await stopCameraView();