Я работаю над приложением, в котором одна часть процесса снимает видео, а затем загружает его. Я использую react-native-video
для отображения предварительного просмотра после того, как пользователь закончил запись, и react-native-camera
для процесса захвата. Я также использую react-navigation
для перемещения между экранами.
В настоящее время я могу перейти на экран предварительного просмотра и установить исходный uri видеокомпонента из Redux. Однако игрока не видно. URI имеет формат "file: ///path/video.mp4", поэтому, очевидно, он должен быть в кеше приложения, как и предполагалось.
Сначала пользователю предоставляется камера, где он / она может захватите видео.
const recordVideo = async () => {
if (camera) {
const data = await camera.current.recordAsync()
if (data) {
dispatch(saveVideo(data)) <-- CONTAINS THE URI
navigation.navigate(CONFIRM)
}
}
Когда вызывается stopRecording (), обещание, очевидно, разрешается, и URI видео будет отправлен в Redux. После этого мы переходим к «экрану подтверждения», где пользователь может предварительно просмотреть видео и выбрать, снимать ли другое или go с этим.
Моя проблема в том, что я не могу загрузить это видео предварительного просмотра на играть вообще. Я думаю, что к настоящему времени перепробовал практически все, что было в моих силах, и я действительно устал от чего-то, казалось бы, простого, но слишком сложного. По какой-то странной причине у меня есть видео, которое нужно воспроизвести несколько раз, так что это не вина игрока. В лучшем случае я показал предварительный просмотр один раз, но когда вы go назад и снимай еще, превью видео больше нет. Кроме того, экран «подтверждения» загружает фотографии в обычном режиме (сделанные таким же образом: камера -> подтвердить), но когда наступает очередь видео, это просто не работает. Обработчик onError видеокомпонента также дает мне это: {"error": {"extra": -2147483648, "what": 1}}
, что похоже на просто gibberi sh.
PS. да, я прочитал все связанные сообщения здесь, но не нашел подходящего решения.