React Native загрузка видеоплеера Delight VR - PullRequest
0 голосов
/ 25 марта 2019

Я переношу приложение Cordova в React-Native.

У нас есть VR Player в приложении, для использования с гарнитурами VR (Google Cardboard, Samsung Gear и т. Д.), Но его также можно воспроизводить как обычное видео в формате 2D 2D. Delight VR предоставляет все необходимое со встроенными элементами управления и очень хорошо работает на Cordova.

При переходе на React-Native мы не смогли найти ни одного подобного нативного проигрывателя для него, ближайший из них - ViroMedia , однако он не предоставляет никаких встроенных элементов управления, не поддерживает другие проекции, кроме 360 (наши видео могут быть в другой проекции, например: 180 LR, 360 UD и т. д.).

Служба поддержки Delight VR ответила нам, подтвердив, что мы можем использовать React Native Webview для загрузки их проигрывателя. Это не идеальное решение, но лучшее, что мы могли найти.

Затем я пытаюсь реализовать это с помощью response-native-webview, но пока я не смог добиться успеха.

The video source is stored in an S3 bucket and it is public accessible

Я пытался загрузить локальную веб-страницу

    <WebView style={styles.container}
      originWhitelist={['*']}
      source={{ html: mypage }}
    />

Не работает, получил несколько сообщений, связанных с происхождением, и плеер продолжает загружаться вечно. После нескольких тестов я обнаружил, что для работы delight vr требуется работающий веб-сервер, источником не может быть файл, не уверенный, что это было причиной его сбоя. В любом случае, я настроил веб-сервер, общедоступный URL-адрес и протестировал его в браузере, и он работал хорошо. Поэтому я изменил свой код, чтобы он указывал на этот URL

    <WebView style={styles.container}
      source={{ uri: 'https://myurl.com/' }}
    />

Теперь, когда я пытаюсь воспроизвести видео, я получаю сообщение

Содержание вопроса

Не найден воспроизводимый источник видео

Когда я захожу в контекст URL в Safari для отладки проблемы, я вижу, что запросы к видео не возвращают ошибку, однако, если я перехожу на вкладку предварительного просмотра, я вижу сообщение An error occurred trying to load the resource

я тоже пробовал разные варианты т.е.: mixedContentMode='always' allowFileAccess={true} allowUniversalAccessFromFileURLs={true}

Есть идеи, что может быть причиной этой проблемы? Если вам известны другие альтернативы для загрузки виртуальных (и обычных) видео в React-Native с аналогичными функциями Delight VR, можно также переключиться на него.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...