uni-app uni.chooseVideo()在配置较低的安卓PDA机器上拍摄视频时 compressed:false 参数无效 视频仍被压缩且模糊
uni-app uni.chooseVideo()在配置较低的安卓PDA机器上拍摄视频时 compressed:false 参数无效 视频仍被压缩且模糊
示例代码:
uni.chooseVideo()使用配置较低的安卓PDA机器拍摄视频,compressed:false下拍摄的视频依然被压缩且非常模糊
操作步骤:
uni.chooseVideo()使用配置较低的安卓PDA机器拍摄视频,compressed:false下拍摄的视频依然被压缩且非常模糊
预期结果:
视频内容与原相机质量一致,分辨率一致
实际结果:
uni.chooseVideo()使用配置较低的安卓PDA机器拍摄视频,compressed:false下拍摄的视频依然被压缩且非常模糊
bug描述:
附件:


更多关于uni-app uni.chooseVideo()在配置较低的安卓PDA机器上拍摄视频时 compressed:false 参数无效 视频仍被压缩且模糊的实战教程也可以访问 https://www.itying.com/category-93-b0.html
实测联发科芯片的设备会出现问题,高通芯片的设备不会
更多关于uni-app uni.chooseVideo()在配置较低的安卓PDA机器上拍摄视频时 compressed:false 参数无效 视频仍被压缩且模糊的实战教程也可以访问 https://www.itying.com/category-93-b0.html
同问题,请问解决了吗?我图片左边是系统相机直拍大小,右边是uni.chooseVideo()且compressed:false保存后视频的大小,差的有点多。而且视频编码变成了H.263,不知道在除了uniapp的地方怎么播放。
没
回复 2***@qq.com: 我用原生安卓调用解决了,https://ask.dcloud.net.cn/article/id-35490
在使用 uni.chooseVideo() 方法时,如果设置了 compressed: false 参数,理论上应该不会对视频进行压缩。然而,在某些配置较低的安卓PDA设备上,可能会出现视频仍然被压缩且模糊的情况。这可能是由于以下原因导致的:
1. 设备硬件限制
- 低配置的安卓设备可能无法处理高质量的视频录制,因此系统会自动降低视频分辨率或压缩视频以节省资源。
- 某些设备的摄像头硬件本身可能不支持高质量的视频录制,导致即使不压缩,视频质量仍然较低。
2. 系统或应用层的限制
- 某些安卓系统或设备制造商可能对视频录制有默认的压缩策略,即使应用层设置了
compressed: false,系统仍然可能会对视频进行压缩。 - 设备的系统版本或定制的ROM可能对API的实现有所不同,导致
compressed: false参数无法生效。
3. uni-app框架的限制
uni.chooseVideo()方法在不同平台上的实现可能有所不同,特别是在安卓平台上,可能会依赖于底层的系统API。如果底层的API不支持不压缩的视频录制,compressed: false参数可能无法生效。
解决方案
1. 检查设备硬件能力
- 确认设备的摄像头是否支持高质量的视频录制。如果设备硬件本身不支持,可能需要考虑更换设备或降低对视频质量的要求。
2. 使用原生开发
- 如果对视频质量有较高要求,可以考虑使用原生开发(如Android原生开发)来直接调用设备的摄像头API,这样可以更好地控制视频的录制参数,避免自动压缩。
3. 调整视频参数
- 尝试调整视频的其他参数,如分辨率、帧率等,看看是否能够改善视频质量。虽然这不能完全解决压缩问题,但可能在一定程度上提高视频的清晰度。
uni.chooseVideo({
sourceType: ['camera'],
compressed: false,
maxDuration: 30,
camera: 'back',
success: function (res) {
console.log(res.tempFilePath);
}
});

