首页 > 解决方案 > 世博相机变焦视频记录

问题描述

我在我的 android 手机上使用 Expo Camera,返回给我的记录被缩放,在拍摄照片或视频时,相机视图似乎被扭曲了。如何将其设置为 false,我尝试改用 react-native-camera 但它崩溃了。

<Camera useCamera2Api={false} 
  ref={(el) => this.camera = el } 
  style={{ flex: 1, 
          flexDirection: 'column', 
          justifyContent: 'space-between', 
          alignItems: 'flex-start' }} 
          flashMode={this.state.flashmode ? Camera.Constants.FlashMode.on : Camera.Constants.FlashMode.off}
          type={this.state.type} 
          useNativeZoom={true}  
          defaultVideoQuality={Camera.Constants.VideoQuality['1080p']} 
          ratio={'16:9'} 
          autoFocus={Camera.Constants.AutoFocus.on}>
</Camera>

我使用 react-native-video 渲染视频:

<Video  source={{ uri: this.state.preview }}
        style={{ flex: 1,  
        width:Dimensions.get('screen').width,
        height:Dimensions.get('screen').height, 
        backgroundColor: '#FFFFFF', zIndex: 0 }} />

我的反应原生版本是 0.63。

标签: react-nativeopengl-esexpo

解决方案


Video 组件中有一个名为“resizeMode”的属性。尝试将此道具设置为“覆盖”,如下所示:

 <Video  source={{ uri: this.state.preview }}
    style={{ flex: 1,  
    width:Dimensions.get('screen').width,
    height:Dimensions.get('screen').height, 
    resizeMode={"cover"}
    backgroundColor: '#FFFFFF', zIndex: 0 }} />

推荐阅读