如何在Expo中构建或发布大于50MB的捆绑视频资产,以响应本机

时间:2018-09-27 15:47:07

标签: react-native video assets expo offlineapps

我正在尝试将许多视频文件(每个100 MB)捆绑到我的应用程序中,以便用户可以离线播放它们,而不必从互联网上下载它们(客户端要求)。我在EXPO SDK 30上尝试了文档(assetBundlePatterns)建议的脱机方法。

问题似乎是expo首先将视频文件上传到服务器,然后决定是否将其与应用程序二进制文件捆绑在一起。因为如果我的视频文件大小小于50MB,效果很好,但是当我的视频文件大小更高时,它会抛出“超出最大js带宽”错误。这意味着expo实际上尝试上传文件,而我指定不上传。

那么解决方案是什么?如何包含大于50MB的文件? 我的应用未分离/弹出(我也尝试分离但还是一样)

环境 世博会/ iOS && Android / SDK 30

复制步骤

  • 将大于50MB的视频添加到资产/视频文件夹
  • 在您的代码中有这个

<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]在15924毫秒内完成了JavaScript包的构建。

     

[16:02:35]上传资产

     

[16:02:48]上传/assets/videos/roleplay.mp4

     

[16:02:48]'请求正文大于maxBodyLength限制'

  • 尝试expo build:ios时得到
  

[15:27:46]发布到频道“默认” ...

     

[15:27:48]构建iOS包

     

[15:27:53]'错误:套接字挂起'

0 个答案:

没有答案