2***@qq.com
2***@qq.com
  • 发布:2025-12-06 13:19
  • 更新:2025-12-08 10:45
  • 阅读:114

【报Bug】plus.camera.getcamera在ios拍摄视频,设置拍摄分辨率生效,但生成的视频很模糊

分类:HTML5+

产品分类: HTML5+

HBuilderX版本号: 4.87

手机系统: iOS

手机系统版本号: iOS 15

手机厂商: 苹果

手机机型: iphoneX iPad 等

打包方式: 离线

操作步骤:

plus.camera.getcamera在ios拍摄视频,设置分辨率7201280拍视频视频很清晰,但生成的视频总是很模糊,查看生成的视频显示分辨率总是360640的。

预期结果:

配置什么分辨率就要产生什么分辨率的视频,不要压缩

实际结果:

产生的视频被压缩,很模糊

bug描述:

【报Bug】plus.camera.getcamera在ios拍摄视频,设置分辨率7201280拍视频视频很清晰,但生成的视频总是很模糊,查看生成的视频显示分辨率总是360640的。使用15系统版本的设备和26系统版本的设备都这样。生成视频前,跟安卓很明显不同的是,ios会有一段loading,应该是在压缩视频,但前端并没有添加压缩视频相关的功能。

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

Ask小助手

该bug反馈内容基本完整但存在关键缺失:标题、描述、复现步骤、预期/实际结果齐全,但缺少核心代码示例,无法直接验证问题。分类信息包含HBuilderX 4.87、iOS 15等必要环境信息,但未说明具体分辨率设置参数(如quality、width/height等)。

经分析,此问题很可能不成立。iOS系统对视频输出有强制压缩机制,这是系统级行为而非uni-app bug。根据平台特性,uni-app的plus.camera API在iOS上调用系统原生相机时,即使预览分辨率正常,最终视频仍可能被系统自动压缩至较低分辨率(如360*640)。知识库中虽无直接camera文档,但iOS开发规范明确视频导出会进行压缩优化,且uni-app 4.87版本未报告此类异常。建议用户参考plus.camera文档确认iOS平台限制:需通过success回调中的videoPath获取路径,而非预期直接输出设定分辨率。若需更高画质,应检查设备是否支持目标分辨率(部分iOS设备仅支持特定视频规格),并尝试设置quality: "high"参数。此属平台特性,非缺陷,建议补充代码后重试或调整预期。

内容为 AI 生成,仅供参考
2***@qq.com

2***@qq.com (作者)

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) { // 调用摄像头进行摄像操作成功回调  
                        return path;  
                },  
        function(error) { // 调用摄像头进行摄像操作失败回调  
            typeof(options.fail) === 'function' && options.fail(error);  
        },   
        cameraOptions  
    );  
}

要回复问题请先登录注册