React-native-image-picker продолжительность видео

Я использую библиотеку react-native-image-picker для записи видео и react-native-video для воспроизведения видео, в котором указана продолжительность видео в функции обратного вызова onLoad, но как я могу использовать ее в своем коде, может ли кто-нибудь помочь мне? Я написал функцию durationLimit, но она не работает. Как я могу записать видео продолжительностью 30 секунд? Пробовал это тоже, но не удалось.

Мой код

import ImagePicker from 'react-native-image-picker';   
import Video from 'react-native-video';

constructor(props){
   super(props);
   this.state = {
      video: '',
      isVideo: true
   };
};
_handleVideoUpload = () => {
   const options = {
      mediaType: 'video',
      videoQuality: 'medium',
      durationLimit: 30000,
      thumbnail: true,
      allowsEditing: true,
   };

   ImagePicker.launchCamera(options, (response) => {
      if (response.didCancel) {
        // console.warn('User cancelled video picker');
        return true;
      } else if (response.error) {
         // console.warn('ImagePicker Error: ', response.error);
      } else if (response.customButton) {
          console.warn('User tapped custom button: ', response.customButton);
      } else {
         this.setState({video: response.uri});
      } 
   });
 }

render() {
   return(
     <View>
     {
      this.state.video != '' ?
         <View>                     
           <Video
              ref = {ref => this._video = ref}
              source = {{ uri: this.state.video }}
              resizeMode = {'cover'}
              repeat = {true}
              paused = {true}
              onLoad = {() => { this._video.seek(2);}} 
           />
       </View>
     : 
       <TouchableOpacity 
          onPress = {() => this._handleVideoUpload()}
       >
         <Text>Upload Video</Text>
      </TouchableOpacity>
    }
   </View>
);}

Заранее спасибо.

Привет, @Riddhi! Если вы нашли какое-либо решение, пожалуйста, предоставьте его здесь, чтобы мы также могли кодировать таким образом.

Purvik Rana 18.04.2019 09:54

Извините, я пока не могу найти решение @Purvik Rana Если я обязательно напишу здесь.

Riddhi 28.06.2019 09:49
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
1
2
2 720
1

Ответы 1

Если вы хотите записать видео продолжительностью 30 секунд, вам нужно поместить 30 в durationLimit, а не 30000.

`const options = {
   mediaType: 'video',
   videoQuality: 'medium',
   durationLimit: 30,
   thumbnail: true,
   allowsEditing: true,
};`

Если вы хотите узнать продолжительность видео на <Video />, вы можете сделать это:

`_onLoad(data){
    let durationVideo = data.duration
}
...
<Video
   ref = {ref => this._video = ref}
   source = {{ uri: this.state.video }}
   resizeMode = {'cover'}
   repeat = {true}
   paused = {true}
   onLoad = {() => this._onLoad()}
/>`

Я надеюсь это тебе поможет.

спасибо за помощь @josecasrillo Я пробовал это, но не работает

Riddhi 28.06.2019 11:04

Другие вопросы по теме