Проблема с видеозаписью 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 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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