У меня есть собственное приложение для iOS, где я загружаю изображения из CameraRoll и отображаю их в другом виде.
Это прекрасно работает для большинства изображений, но когда изображение представляет собой анимированный GIF, изображение отображается,но это не анимация.Я хочу, чтобы можно было отображать анимированный оригинал, а не статический эскиз.
Информация об изображении, возвращаемая из CameraRoll, имеет вид:
{
filename: "test animated gif 1.gif",
height: 480,
isStored: true,
playableDuration: 0,
uri: "assets-library://asset/asset.GIF?id=8627D49D-CF91-414A-94DA-035F46850867&ext=GIF",
width: 480
}
Я отображаю это в компоненте изображения:
<Image
source={{uri: asset.uri}
style={{
width: 300,
height: 225,
borderRadius: 15,
}}
/>
Как я уже сказал, будет отображаться статическая версия GIF - я считаю, что это одна из автоматических миниатюр, которые iOS генерирует для изображений CameraRoll.
URI выглядит как динамическийURI-код доступа, а не ссылка на конкретный файл, а также то, что компонент Image выбирает миниатюру в соответствии с документами React Native.
Есть ли способ заставить ReactNative получить доступ к исходному файлу активов GIF?
Дополнительная информация:
- Я могу успешно отображать анимированные GIF, загруженные из
http://
URI, но это мне не помогает. - Я использовал другие инструменты файловой системы, такие как ReactNativeFetchBlob, для доступа к файлу или его отображения, а URI остается тем же
assets-library://
URI. - Iпробовал другой компонент отображения изображения (response-native-fast-image), но он также просто отображает статическую версию GIF.