Проблема с видеозаписью Expo React Native APK: запуск захвата при useEffectAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Гость
 Проблема с видеозаписью Expo React Native APK: запуск захвата при useEffect

Сообщение Гость »


Я использую Expo React Native вместе с компонентом Expo Camera для записи видео.
Моя цель — начать запись видео, как только будет открыт компонент камеры.

При запуске моего приложения через Expo все работает отлично, а записанные видео получаются такими, как ожидалось. Однако когда я создаю APK (пакет Android) с тем же кодом и пытаюсь записать видео, продолжительность полученных файлов составляет 0 секунд, отображая только неподвижное изображение с момента, когда я нажимаю кнопку записи, чтобы остановить запись. Что интересно, видео становится длиннее, если я удерживаю кнопку остановки дольше.

import { View, Text, TouchableOpacity, StyleSheet } из «реагировать-родной»; импортировать { CameraType, Camera } из «экспо-камеры»; // импортируем * как файловую систему из 'expo-file-system'; импортировать {useState, useRef, useEffect} из «реагировать»; функция TestRecord() { const [разрешение, requestPermission] = Camera.useCameraPermissions(); const cameraRef = useRef(null); const isRecordingRef = useRef(false); const [cameraReady, setCameraReady] = useState(false); useEffect(() => { if (cameraRef.current && !isRecordingRef.current && cameraReady && разрешение && разрешение.грантед) { isRecordingRef.current = правда; НачатьИнтервалЗаписи(); } }, [cameraReady, разрешение]); const startRecordingInterval = async () => { если (cameraRef.current) { пытаться { const videoData = ждут cameraRef.current.recordAsync(); //получить видео } поймать (ошибка) { console.log("ошибка: ", ошибка); } } } const stopRecording = () => { if (cameraRef.current && isRecordingRef.current) { isRecordingRef.current = ложь; cameraRef.current.stopRecording(); } }; if (!permission || разрешение?.granted === false) { вернуть ; } возвращаться ( { setCameraReady (истина); }} onMountError={(ошибка) => { // сделай что-нибудь }} > Остановить запись ) } экспортировать TestRecord по умолчанию; Хотелось бы понять, почему в APK-версии запись видео не работает должным образом и как это исправить

Я попытался добавить компонент кнопки для запуска записи:

Начать запись Хотя этот подход работает со встроенным APK, он не соответствует моим требованиям.

Есть ли способ начать запись сразу после открытия камеры, не полагаясь на событие нажатия кнопки?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Проблема с видеозаписью Expo React Native APK: запуск захвата при useEffect
    Гость » » в форуме Android
    0 Ответы
    28 Просмотры
    Последнее сообщение Гость
  • APK застрял на экране Splash после выпуска APK в Expo Bare Workflow (React Native)
    Anonymous » » в форуме Android
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • APK застрял на экране Splash после выпуска APK в Expo Bare Workflow (React Native)
    Anonymous » » в форуме IOS
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Состояние React не обновляется в DOM, несмотря на изменения в useEffect для заголовков и реквизита исполнителей.
    Anonymous » » в форуме Javascript
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Expo React Native: неразрешенные справочные ошибки при запуске npx expo run: android
    Anonymous » » в форуме Android
    0 Ответы
    74 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»