Я разрабатываю приложение, используя реагирующую камеру, RNCamera, в режиме извлечения.
Кстати, функция распознавания текста должна работать только для Android.
В портретном режиме он обнаруживает только одиночные или двойные символы в каждом событии обнаружения, например «O», «IC».
Когда я поворачиваюсь в ландшафтный режим, он работает отлично.
Вот как я обрабатываю событие и визуализирую его:
onTextRecognized = ({textBlocks}) => this.setState({ detectedTexts: textBlocks.map(b => b.value) })
renderDetectedText() {
return (
<View style={[styles.facesContainer,{left: 10, top:"50%"}]}>
<Text style={styles.flipText}>{this.state.detectedTexts.join("\n")}</Text>
</View>
)
}
renderCamera() {
<RNCamera
ref={ref => {this.camera = ref;}}
style={{flex: 1}}
type={this.state.type}
flashMode={this.state.flash}
autoFocus={this.state.autoFocus}
zoom={this.state.zoom}
whiteBalance={this.state.whiteBalance}
ratio={this.state.ratio}
onTextRecognized={this.onTextRecognized}
focusDepth={this.state.depth}
permissionDialogTitle={'Permission to use camera'}
permissionDialogMessage={'We need your permission to use your camera phone'}>
{this.renderDetectedText()}
</RNCamera>
}
Я тестирую на реальном устройстве Android 7.0.
Вот ссылка для сообщества React-native-community Выпустить страницу gitHub.