Реагировать на собственное приложение с пустым экраном при рендеринге двух компонентов RNCamera - PullRequest
0 голосов
/ 15 февраля 2020

Я пытаюсь использовать два компонента RNCamera на экране, чтобы каждый компонент занимал половину экрана, и я могу одновременно показывать заднюю и переднюю камеру.

Но, к сожалению, приложение дает просто пустой экран, как только я добавлю второй компонент RNCamera. Может ли кто-нибудь помочь мне с этим.

Ниже мой код.

<View style={styles.container}>
        <View style={{ flex: 1 }}>
          <RNCamera
            ref={ref => {
              this.camera1 = ref;
            }}
            style={styles.preview}
            type={RNCamera.Constants.Type.back}
            flashMode={RNCamera.Constants.FlashMode.off}
            androidCameraPermissionOptions={{
              title: 'Permission to use camera',
              message: 'We need your permission to use your camera',
              buttonPositive: 'Ok',
              buttonNegative: 'Cancel',
            }}
            androidRecordAudioPermissionOptions={{
              title: 'Permission to use audio recording',
              message: 'We need your permission to use your audio',
              buttonPositive: 'Ok',
              buttonNegative: 'Cancel',
            }}
            onGoogleVisionBarcodesDetected={({ barcodes }) => {
              console.log(barcodes);
            }}
          />
        </View>
        <View style={{ flex: 1 }}>
          <RNCamera
            ref={ref => {
              this.camera2 = ref;
            }}
            style={styles.preview}
            type={RNCamera.Constants.Type.back}
            flashMode={RNCamera.Constants.FlashMode.off}
            androidCameraPermissionOptions={{
              title: 'Permission to use camera',
              message: 'We need your permission to use your camera',
              buttonPositive: 'Ok',
              buttonNegative: 'Cancel',
            }}
            androidRecordAudioPermissionOptions={{
              title: 'Permission to use audio recording',
              message: 'We need your permission to use your audio',
              buttonPositive: 'Ok',
              buttonNegative: 'Cancel',
            }}
            onGoogleVisionBarcodesDetected={({ barcodes }) => {
              console.log(barcodes);
            }}
          />
        </View>
        <View style={{ flex: 1, flexDirection: 'row', backgroundColor: 'yellow', justifyContent: 'center' }}>
          <TouchableOpacity onPress={this.takePicture.bind(this)} style={styles.capture}>
            <Text style={{ fontSize: 14 }}> SNAP </Text>
          </TouchableOpacity>
        </View>

1 Ответ

0 голосов
/ 15 февраля 2020

У меня была та же проблема с использованием двух экземпляров камеры в одном виде. Как оказалось, реализация response-native-camera его не поддерживает. Таким образом, единственный вариант, который я нашел, состоял в том, чтобы использовать эту вилку fork от github

Вот проблема с хорошим объяснением этого случая.

...