Отображение видео в React Native работает не в производственном режиме, а в Simulator [expo-media-library/expo-av]IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Отображение видео в React Native работает не в производственном режиме, а в Simulator [expo-media-library/expo-av]

Сообщение Anonymous »

Я пытаюсь просто создать собственный Выбор изображений/видео для приложения React Native. Чего я хочу добиться, так это получить доступ к моим фотографиям и видео из медиатеки моего телефона.
Я использую React Native на основе Expo (сейчас SDK v50) и при запуске моего кода в симуляторе все работает нормально. Но если я запущу его на своем телефоне, у меня возникнут две проблемы.
Это фрагмент кода для предоставления разрешений и получения всех видео- и фоторесурсов из медиатеки:

Код: Выделить всё

            const { status } = await MediaLibrary.requestPermissionsAsync();
if (status !== 'granted') {
console.warn('Permission not granted for Media Library');
return;
}

const media: MediaLibrary.PagedInfo = await MediaLibrary.getAssetsAsync({
mediaType: [MediaType.photo, MediaType.video],
first: 100,
after: pageInfo?.endCursor || undefined,
});

const mediaItemsWithFileUris = await Promise.all(
media.assets.map(async (asset: Asset) => {
const assetDetails: AssetInfo = await MediaLibrary.getAssetInfoAsync(asset.id);

return {
id: asset.id,
uri: asset.uri,
width: asset.width,
height: asset.height,
filename: asset.filename,
filepath: assetDetails.localUri,
duration: asset.duration,
mediaType: asset.mediaType,
syncStatus: SyncStatus.TO_BE_SYNCED,
};
})
);
1. Проблема:[/b]
В рабочей версии MediaLibrary.getAssetsAsync возвращает только видео. Никакие объекты типа фото не возвращаются. В симуляторе он работает нормально и возвращает и то, и другое.
2. Проблема:
При использовании пути к файлу, также известного как localUri ресурсов, видео не отображаются. Также не возникает ошибок или исключений. В Simulator он работает и отображает как фотографии, так и видео в зависимости от пути к файлу. Синтаксис обоих выглядит следующим образом:
2.1 Путь к файлу симулятора: file:///Users//Library/Developer/CoreSimulator/Devices/2FC116CE-6C2E- 48FB-882C-A5C0E0E5A239/data/Media/DCIM/100APPLE/IMG_0009.MP4
2.2 Путь к файлу производственного режима:
file:///var/mobile/Media/DCIM/106APPLE/IMG_6171.MP4
Может ли это быть проблема, связанная с разрешениями?
К сожалению, я не нашел достоверной информации о том, чем различаются разрешения режимов «Симулятор» и «Производство». Я бы ожидал, что он также будет зарегистрирован, если бы возникли проблемы.
Нужно ли мне использовать другой URI вместо протокола file://?
Я попробовал это с URI ph://, специфичным для iOS, и это все равно не сработало.
Изменить:
Одно из мест, которые мне нужны. Для использования изображений и видео используется простая презентация в виде карусели, которая выглядит следующим образом:

Код: Выделить всё

function ImageCarousel({ mediaItems, isVideosMuted = true }: ImageCarouselProps) {
const renderItem = ({ item }: { item: MediaItem }) => {
const sourceUri = item.filepath || item.uri;

if (item.mediaType === MediaType.video) {
return (



);
}

return (



);
};

return (

);
}

Сейчас я просто хочу, чтобы оно отображалось. Необычные изменения могут произойти позже :)

Подробнее здесь: https://stackoverflow.com/questions/793 ... -simulator
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Отображение видео в React Native работает не в производственном режиме, а в Simulator [expo-media-library/expo-av]
    Anonymous » » в форуме IOS
    0 Ответы
    43 Просмотры
    Последнее сообщение Anonymous
  • Laravel Spatie Media Library Media Method Method не работает внутри цикла
    Anonymous » » в форуме Php
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous
  • Приложение React Native не запускается в производственном режиме
    Anonymous » » в форуме Android
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous
  • Как воспроизвести видео Wistia в проекте React Native Expo (уже установленное видео expo-av не работает)?
    Anonymous » » в форуме Android
    0 Ответы
    103 Просмотры
    Последнее сообщение Anonymous
  • Expo 53 - Android Expo -Maps Applications (Simulator)
    Anonymous » » в форуме Android
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous

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