2***@qq.com
2***@qq.com
  • 发布:2025-12-08 12:06
  • 更新:2025-12-08 17:07
  • 阅读:49

【报Bug】plus.camera.getcamera在ios系统拍摄视频,设置720x1280拍摄分辨率不生效,生成的视频很模糊,且生成视频分辨率只有360x640

分类:HTML5+

产品分类: HTML5+

HBuilderX版本号: 3.7.9

手机系统: iOS

手机系统版本号: iOS 26

手机厂商: 苹果

手机机型: iphoneX(系统版本16) iphone14Pro(系统版本26)ipad9(系统版本15.6.1)

打包方式: 离线

示例代码:
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    
    );    
}

操作步骤:

【报Bug】plus.camera.getcamera在ios系统拍摄视频,设置720x1280拍摄分辨率不生效,生成的视频很模糊,且生成视频分辨率只有360x640

预期结果:

配置720x1280分辨率就要产生720x1280分辨率的视频

实际结果:

产生的视频是360x640分辨率的,和配置的720x1280分辨率不符,且很模糊

bug描述:

plus.camera.getcamera在ios拍摄视频,设置分辨率720x1280拍视频不生效,生成的视频总是很模糊,并且查看生成的视频显示分辨率一直都是360x640的。更换设备和系统版本,都一样的情况。生成视频前,ios会有一段loading,应该是在压缩视频,但前端并没有添加压缩视频相关的功能。使用supportedVideoResolutions查看设备支持分辨率,其中显示是支持720x1280分辨率拍摄视频的。打包方式是在vscode使用命令打包成app。

2025-12-08 12:06 负责人:无 分享
已邀请:
Ask小助手

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体系。

内容为 AI 生成,仅供参考
t***@intasect.cn

t***@intasect.cn

HTML5PULS plus.camera 中在ios端 CameraOptions 中的 resolution 传了字符串 1280*720 ,但输出的视频仍是默认参数效果。没有输出对应分辨的视频。
但如果传 high 则会执行 high的拍摄分辨率。
查看H5+源码 怀疑是没有成功添加 UIImagePickerControllerQualityTypeIFrame1280x720 的参数。

要回复问题请先登录注册