Почему мои видео и изображения не отображаются?

У меня есть изображение или видео на AWS S3 или где-то в Интернете.

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

<a-scene>
  <a-box src="https://blah.com/sometexture.png"></a-box>
</a-scene>

Но ничего не появляется. Я получаю некоторые ошибки консоли об отсутствии изображения и CORS.


person ngokevin    schedule 03.08.2016    source источник


Ответы (1)


С A-Frame 0.3.0 вам больше не нужно вручную указывать перекрестное происхождение. Он будет автоматически установлен для ресурсов, требующих CORS.

https://aframe.io/faq/#why-does-my-asset-e-g-image-video-model-not-loading

Как правило, проблема связана с CORS. Поскольку все активы извлекаются через XHR, вам необходимо включить разрешение заголовков CORS для вашего актива. Это очень распространено, если вы обслуживаете из S3. После того, как вы включили CORS, вам необходимо установить флаг crossorigin для ваших активов:

<a-scene>
  <a-assets>
    <img id="texture" crossorigin src="https://blah.com/sometexture.png">
    <video id="texture2" crossorigin src="https://blah.com/sometexture.mp4">
  </a-assets>

  <a-box src="#texture"></a-box>
  <a-video src="#texture2"></a-video>
</a-scene>

У нас есть бесплатный загрузчик, предоставленный UploadCare. На данный момент он недоступен, но позже вы сможете загрузить его сюда и бесплатно получить материалы CORSed https://aframe.io/aframe/examples/_uploader/

В iOS Safari, если изображение по-прежнему не загружается, возможно, вы ранее загрузили его без crossorigin, и оно кэшируется. Попробуйте очистить кеш браузера.

person ngokevin    schedule 03.08.2016