Как предварительно загрузить видео с expo реакции родных - PullRequest
0 голосов
/ 04 декабря 2018

Я создаю видео компонент, в который я могу добавить несколько источников.И он просто прочитал все видео один за другим.Так что это довольно просто, сейчас у меня есть только один видео компонент в моем пользовательском компоненте, и я загружаю Async следующее видео или предыдущее, когда это необходимо.

Моя проблема в том, что при плохом интернете между каждым видео может быть немного долго ждать.

Поэтому я хотел бы предварительно загрузить видео и кэшировать его, как будто видео загружается нав то же время, когда играет другой.

Я пытался с FileSystem.downloadAsync (), но это не совсем гладко, вам нужно дождаться конца, чтобы получить действительный URI, чтобы передать его в компонент видео.Так что, если он не будет загружен до конца предыдущего видео, вы не сможете его прочитать.Я думал о том, чтобы в моем пользовательском компоненте было несколько видеокомпонентов, которые предварительно загружают видео, воспроизводят и показывают, когда самое подходящее время, но я нахожу это довольно сложным.

Есть ли лучший способ сделать это?

1 Ответ

0 голосов
/ 18 февраля 2019

Я только что обнаружил, что вы можете использовать downloadAsync, как если бы вы использовали изображения:

async componentDidMount() {
    await Asset.fromModule(require('../assets/background.mp4')).downloadAsync();
    this.setState({ videoLoaded: true });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...