如何通过expo react native预加载视频

问题描述 投票:0回答:2

我正在构建一个视频组件,可以在其中添加多个源。而且它只是一个接一个地阅读所有视频。因此,这非常简单,现在我的自定义组件中只有一个视频组件,并且在需要时可以对下一个视频或上一个视频进行loadAsync。

我的问题是,当互联网不畅时,每个视频之间的等待时间可能会有些长。

所以我想预加载视频并像在另一个视频播放的同时加载视频一样缓存它们。

我尝试使用FileSystem.downloadAsync(),但它并不是很顺利,您必须等待最后一个有效的uri才能将其传递给视频组件。因此,如果未在上一个视频结束之前下载该文件,则无法阅读。我当时想在我的自定义组件中包含多个视频组件,这些组件可以预加载视频并在合适的时候播放并显示,但我觉得它很复杂。

有更好的方法吗?

react-native video expo preload
2个回答
0
投票

我刚刚发现您可以像在图像上一样使用downloadAsync

async componentDidMount() {
    await Asset.fromModule(require('../assets/background.mp4')).downloadAsync();
    this.setState({ videoLoaded: true });
}

0
投票
© www.soinside.com 2019 - 2024. All rights reserved.