Я пытаюсь связать несколько видеофайлов (по 100 МБ каждый) с моим приложением, чтобы пользователь мог воспроизводить их в автономном режиме, не загружая их из Интернета (требование клиента).Я на expo SDK 30 и попробовал автономный метод, предложенный документацией (assetBundlePatterns).
Проблема в том, что expo сначала загружает видеофайлы на сервер, а затем решает, следует ли связывать его с двоичным файлом приложения или нет.Потому что он работает нормально, если размер моего видеофайла меньше 50 МБ, но когда я увеличиваю его, он выдает ошибку превышения максимальной js полосы пропускания.Что означает, что expo на самом деле пытается загрузить файл, тогда как я указал, что нет.
Так в чем же решение?Как я могу включить файлы размером более 50 МБ?Мое приложение не отключено / извлечено (я также пытался отключить, но тоже самое)
Среда Expo / iOS && Android / SDK 30
Шаги для воспроизведения
- Добавить видео размером более 50 МБ в папку с активами / видео
- добавить это в свой код
<Video
source={require("../../../assets/videos/sample_edit_new.mp4")}
rate={1.0}
volume={1.0}
isMuted={false}
resizeMode="cover"
shouldPlay = {false}
isLooping = {false}
style={{ width: 500, height: 300 }}
useNativeControls
/>
- Укажите этот путь в assetBundlePatterns
"assetBundlePatterns": [
"assets/videos/*"
],
- запустить expo publish или expo build: ios в терминале
Наблюдаемое поведение
- При попытке публикации на выставке я получаю
[16:02:35] Закончено создание пакета JavaScript за 15924 мс.
[16:02:35] Загрузкаassets
[16:02:48] Загрузка /assets/videos/roleplay.mp4
[16:02:48] 'Тело запроса превышает ограничение maxBodyLength'
- При попытке сборки expo: ios я получаю
[15:27:46] Публикация на канале 'default' ...
[15: 27: 48] Сборка пакета iOS
[15:27:53] 'Ошибка: зависание сокета'