У меня есть следующий код для захвата скриншота из видеопотока:
<ViewShot ref={this.btnRef} options={{format: 'jpg', quality: 0.9}}>
<Video
source={{uri: this.state.streamUrl, type: 'm3u8'}} // Can be a URL or a local file.
ref={ref => {
this.player = ref;
}} // Store reference
resizeMode="contain"
paused={false}
onBuffer={this.loadBuffering} // Callback when remote video is buffering
onError={this.videoError} // Callback when video cannot be loaded
style={styles.backgroundVideo}
minLoadRetryCount={10}
/>
</ViewShot>
И затем в кнопке:
<IconButton
icon={this.state.loadingActions ? 'reload' : 'camera'}
color={plantyColor}
size={40}
disabled={this.state.loadingActions}
// onPress={this.takeScreenShot}
onPress={() => {
console.log('capture');
this.btnRef.current.capture().then(uri => {
this.uploadImage(uri);
});
}}
/>
По какой-то причине снимок вида делает снимок фон, а не видео
(По некоторым причинам это работает нормально на симуляторе и не работает на iPhone)
Есть идеи?