function getVideo(options) {
const videoStartTime = getTime(); // 视频录制开始时间
const cmr = plus.camera.getCamera(); // 获取摄像头对象
const res = '720*1280'; // 摄像头分辨率
const fmt = options.format; // 视频格式
let cameraOptions = {}; // // 相机参数
if (uni.getSystemInfoSync().platform === 'android') {
cameraOptions = {
format: fmt, // 视频格式
videoMaximumDuration: options.time || 10 // 视频长度 单位s
};
} else {
cameraOptions = {
resolution: res, // 摄像头分辨率
format: fmt, // 视频格式
quality: 'high',
filename:'_doc/download/ftmsNewVideo/', // ios指定文件夹,否则不能删除原文件
videoMaximumDuration: options.time || 10 // 视频长度 单位s
};
}
cmr.startVideoCapture(
function(path) { // 调用摄像头进行摄像操作成功回调
console.log(cmr.supportedVideoResolutions); // 输出了 720x1280
return path;
},
function(error) { // 调用摄像头进行摄像操作失败回调
typeof(options.fail) === 'function' && options.fail(error);
},
cameraOptions
);
} - 发布:2025-12-08 12:06
- 更新:2025-12-08 17:07
- 阅读:49
产品分类: HTML5+
HBuilderX版本号: 3.7.9
手机系统: iOS
手机系统版本号: iOS 26
手机厂商: 苹果
手机机型: iphoneX(系统版本16) iphone14Pro(系统版本26)ipad9(系统版本15.6.1)
打包方式: 离线
示例代码:
操作步骤:
【报Bug】plus.camera.getcamera在ios系统拍摄视频,设置720x1280拍摄分辨率不生效,生成的视频很模糊,且生成视频分辨率只有360x640
【报Bug】plus.camera.getcamera在ios系统拍摄视频,设置720x1280拍摄分辨率不生效,生成的视频很模糊,且生成视频分辨率只有360x640
预期结果:
配置720x1280分辨率就要产生720x1280分辨率的视频
配置720x1280分辨率就要产生720x1280分辨率的视频
实际结果:
产生的视频是360x640分辨率的,和配置的720x1280分辨率不符,且很模糊
产生的视频是360x640分辨率的,和配置的720x1280分辨率不符,且很模糊
bug描述:
plus.camera.getcamera在ios拍摄视频,设置分辨率720x1280拍视频不生效,生成的视频总是很模糊,并且查看生成的视频显示分辨率一直都是360x640的。更换设备和系统版本,都一样的情况。生成视频前,ios会有一段loading,应该是在压缩视频,但前端并没有添加压缩视频相关的功能。使用supportedVideoResolutions查看设备支持分辨率,其中显示是支持720x1280分辨率拍摄视频的。打包方式是在vscode使用命令打包成app。
2 个回复
Ask小助手
该bug反馈内容较为完整,包含标题、详细描述、代码示例、复现步骤、预期与实际结果及分类信息。描述清晰展示了iOS设备上plus.camera.getCamera设置720x1280分辨率无效的问题,代码可直接运行,复现路径明确。预期结果合理,但需验证iOS平台实际支持情况。
经分析,该bug很可能成立。iOS平台对视频分辨率处理有特殊机制:1) 分辨率参数格式应为"1280x720"而非"720*1280"(横屏基准);2) HBuilderX 3.7.9为较旧版本(当前主流版本已更新至4.x),可能存在未修复的iOS适配问题;3) 虽然supportedVideoResolutions显示支持该分辨率,但iOS系统可能因设备方向或硬件限制自动降分辨率。知识库虽未直接包含camera API文档,但根据uni-app特性,iOS平台对plus API的实现常存在与Android的差异。
建议用户:1) 尝试将分辨率格式改为"1280x720";2) 升级至最新HBuilderX版本;3) 参考plus.camera文档确认iOS平台限制。若仍需高分辨率视频,可考虑使用uni-app x的uvue方案,其iOS原生渲染能力更强,但需注意uni-app x已移除plus API,需改用新API体系。
t***@intasect.cn
HTML5PULS plus.camera 中在ios端 CameraOptions 中的 resolution 传了字符串 1280*720 ,但输出的视频仍是默认参数效果。没有输出对应分辨的视频。
但如果传 high 则会执行 high的拍摄分辨率。
查看H5+源码 怀疑是没有成功添加 UIImagePickerControllerQualityTypeIFrame1280x720 的参数。
要回复问题请先登录或注册
公告
更多>相关问题