Я пытаюсь загрузить видео с моего фотоаппарата и отобразить его в моем приложении, позволяя пользователям нажимать на тот, который они хотят воспроизвести.
Я могу отобразить видео / камеры, но не могу понять, как включить функцию «Воспроизвести видео» для работы с моим списком.
вот мой код отображения плоского списка на данный момент:
class showVideo extends Component {
constructor(props) {
super(props);
this.state = {
data: '',
};
}
async componentDidMount() {
if (Platform.OS === 'android') {
const result = await PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE,
{
title: 'Permission Explanation',
message: 'ReactNativeForYou would like to access your photos!',
},
);
if (result !== 'granted') {
console.log('Access to pictures was denied');
return;
}
}
CameraRoll.getPhotos({
first: 50,
assetType: 'All',
})
.then(res => {
this.setState({data: res.edges});
})
.catch(error => {
console.log(error);
});
}
render() {
return (
<View>
<FlatList
data={this.state.data}
numColumns={3}
renderItem={({item}) => (
<Image
style={{
width: '33%',
height: 150,
}}
source={{uri: item.node.image.uri}}
/>
)}
/>
</View>
);
}
}
Что я хотел бы сделать: добавить осветительную подсветку вокруг каждого видео (поскольку одновременно показывается 50 видео / фотографий) и когда пользователь нажимает на определенный c квадрат, вызовите функцию воспроизведения видео, чтобы фактически просмотреть видео.
Кто-нибудь знает какие-либо хорошие источники, которые документируют, как я мог go об этом? Я рассмотрел несколько опций воспроизведения видео, например, компонент собственного видео, который используется следующим образом:
// Load the module
import Video from 'react-native-video';
// Within your render function, assuming you have a file called
// "background.mp4" in your project. You can include multiple videos
// on a single screen if you like.
<Video source={{uri: "background"}} // Can be a URL or a local file.
ref={(ref) => {
this.player = ref
}} // Store reference
onBuffer={this.onBuffer} // Callback when remote video is buffering
onError={this.videoError} // Callback when video cannot be loaded
style={styles.backgroundVideo} />
// Later on in your styles..
var styles = StyleSheet.create({
backgroundVideo: {
position: 'absolute',
top: 0,
left: 0,
bottom: 0,
right: 0,
},
});
, однако я понятия не имею, как я могу включить это в свой код. У меня уже есть источник в моей области плоского списка, поэтому я бы назначил источник = источник?
Я нуб, чтобы реагировать нативно, поэтому любые указатели были бы великолепны.