问题描述:
qml里使用camera和videoOutput来显示视频流。
camera.viewfinder有一串支持的分辨率,设置为其中的640*480,在onComponentCompleted里输出也确实是这样的设置,然而运行时依然采用最高的1920*1080。
在desktop里运行是正确的分辨率,在真机里运行是最高分辨率。
解决方案:
在设置分辨率前让camera停止,设置后再start。
camera.stop()
camera.viewfinder.resolution = your_resolution
console.log('StackView.onStatusChanged camera.viewfinder.resolution:', camera.viewfinder.resolution)
camera.start()
参考:
https://stackoverflow.com/questions/40757220/qml-change-the-resolution-before-camera-image-capture