В реакции-родной-камере После записи asyn c видео файл не существует в папке temp - PullRequest
0 голосов
/ 28 апреля 2020

To Do First

Вы пробовали последнюю версию = да

Вы пробовали master = да

Платформы - Linux мята

Версии

Android: oreo в эмуляторе, пиксель 2

iOS: n / a

реакция: «16,9,0»,

реакция-нативная: «0,61,5»,

реакция-нативная камера: «^ 3.23.1» ,

Описание / Текущее поведение

Я хочу записать видео с помощью камеры с кодом ниже

async startRecording() {

   await this.camera.recordAsync({
      maxDuration: 30,
    }).then(data => {
      console.log('data of startRecording', data)
      this.saveVideo(data)
    }).catch(e => {
      console.log('catch of startRecording', e)
    })
}

, он вернет 4 вещи

1 uri

2 deviceOrientation

3 videoOrientation

4 isRecordingInterrupted

После этого я хочу переместить записанный видеофайл от ниже местоположения до скачать каталог местоположение

Путь записанного видео, получаемого из data.uri

file:///data/user/0/com.videoapp/cache/Camera/b5ba0d8f-07ea-4755-8f7f-a88d5cc7a331.mp4"

Мой код для перемещения файла

saveVideo = async (data) => {
   try {
     RNFetchBlob.fs.mv(data.uri, RNFetchBlob.fs.dirs.DownloadDir)
       .then((e) => {
         console.log('MSG =>in RNFetchBlob  ', e)
       })
       .catch(e => { console.log('MSG =>in RNFetchBlob  ', e) })
   } catch (e) {
     console.log('MSG => Main Catch', e)
   }
 }

После всего этого это ошибка throw => Source fil e в пути не существует

Требуется помощь здесь

1 Как сохранить видео с помощью своей собственной камеры в папке различий

Я беру ссылку ниже ссылка

https://medium.com/@masochist.aman / capturing-images-with-реагировать-native-203e24f93eb9

Я также сохраняю URI в состоянии

async startRecording() {
    this.setState({ recording: true });

    await this.camera.recordAsync({
      maxDuration: 30,
    }).then(data => {
      console.log('data of startRecording', data)

      this.setState({
        videoPath: data.uri
      })
    }).catch(e => {
      console.log('catch of startRecording', e)
    })

}

и затем =>

<Video
source={{uri:this.state.videoPath}}
style={{height:300,width:300}}
onError={(e)=>{console.log(e)}} <--error say that try to load empty source
/>
...