Я использую Expo go версию 51, чтобы запустить свою версию Greact-Clive Application 0.74.5. Цель проста, это записать короткое 5-секундное видео и отобразить журнал на экране, если успешно. Версия библиотеки Expo-Camera 15.0.16, используемая для этого, очень хорошо работает для iOS, но на Android видео не записано, никакой ошибки не происходит, только функция библиотеки Expo-Camera, RecordAsync, ничего не возвращает. Проблема не связана с разрешениями на использование камеры, все они были назначены правильно. И я считаю, что разрешения на использование аудио и микрофона также не требуются, поскольку я установил mute = {true} внутри моего компонента. < /P>
Сухая функция TakeVideo: < /p>
const takeVideo = async () =>{
setButtonVisible(false); // Oculta o botão imediatamente ao clicar
const cameraInstance = cameraRef.current;
if (cameraInstance) {
try {
console.log('Trying to record video...');
const video = await cameraInstance.recordAsync({
maxDuration: 5
});
console.log(video);
if (video?.uri) {
const videoUri = video.uri;
setCapturedVideo(videoUri);
setMessage('Image captured successfully!');
setIsError(false);
} else {
setMessage('Error capturing image!');
setIsError(true);
console.log('Failed to record video.');
}
} catch (error) {
console.log('Failed to record video:', error);
setMessage(''Error capturing image!');
setIsError(true);
} finally {
cameraInstance.stopRecording();
setCameraVisible(false);
}
} else {
setMessage('Error when trying to open the camera');
setIsError(true);
console.error('Camera reference not found.');
}
}
< /code>
Вот компонент CameraView: < /p>
{buttonVisible && ( // Só exibe o botão se 'buttonVisible' for true
Iniciar
)}
< /code>
В этом случае сообщение, отображаемое журналом, работающим на Android, «пытается записать видео ...», и оно не получает ответа от RecordAsync. Я ожидаю ответа от функции AcromeAsync, чтобы я мог просмотреть «console.log (видео)».
Подробнее здесь: https://stackoverflow.com/questions/790 ... or-android