Meh*_*ill 2 react-native react-native-camera
我只需要拍摄并存储一张照片。我正在使用react-native-vision-camera,但是当我拍照时,使用.takePhoto()方法。它冻结了。
我还使用“质量优先级:“速度”。
我正在 Android 模拟器上测试它。
const CameraPage = () => {
const devices = useCameraDevices()
const device = devices.back
const isFocused = useIsFocused()
const camera = useRef(null)
const onPressButton = async () => {
console.log(camera.current)
console.log(123)
const photo = await camera.current.takePhoto({
flash: 'off',
qualityPrioritization: "speed"
})
console.log(photo)
}
if (device == null) return <View><Text>Loading</Text></View>
return (
<View style={{flex: 1}}>
<Camera
ref={camera}
style={StyleSheet.absoluteFill}
device={device}
isActive={isFocused}
photo={true}
/>
<View style={styles.buttonContainer}>
<TouchableOpacity
style={styles.camButton}
onPress={onPressButton}
>
<Text>Click me</Text>
</TouchableOpacity>
</View>
</View>
)
Run Code Online (Sandbox Code Playgroud)
小智 5
我遇到了同样的问题,这就是我解决它的方法。
如果您只需要在 Android 模拟器上进行演示takeSnapshot(...),则可以使用。
让我们回到react-native-vision-cameratakePhoto()的指南。
就在它的正下方takeSnapshot(),有一张纸条,上面写着:
如果您关心速度,您可以使用相机
takeSnapshot(...)功能(仅限 Android),它只是拍摄相机视图的快照,而不是通过相机镜头实际拍照。
我猜react-native-vision-camera会冻结的问题可能是因为android模拟器没有真正的相机镜头。
所以我尝试了takeSnapshot(...),效果非常好。
仅此而已,希望能有所帮助。
| 归档时间: |
|
| 查看次数: |
2975 次 |
| 最近记录: |