A-Frame и добавить видео динамически - PullRequest
0 голосов
/ 03 февраля 2020

У меня есть

<script src="https://aframe.io/releases/1.0.3/aframe.min.js"></script>
 ...
  <a-assets>
     <video id="losevideo" autoplay loop="true" src="images/losevideo_oA.mp4" crossorigin="anonymous" playsinline webkit-playsinline></video>
  </a-assets>
 ...
<a-video id="alosevid3" webkit-playsinline playsinline autoplay loop="true" src="#losevideo" position="-5 0 -5" rotation="0 0 0" scale="0.01 0.01 0.01"></a-video>

, а внутри компонента у меня есть

    let videoEl = document.createElement('a-video');
    videoEl.setAttribute('id', 'loseVidEl'); // Create a unique id for asset
    videoEl.setAttribute('src', '#losevideo');
    videoEl.setAttribute('height', '4.9');
    videoEl.setAttribute('width', '4');
    videoEl.setAttribute('position', '0 0.001 -5');
    videoEl.setAttribute('rotation', '-90 0 0');
    scene.appendChild(videoEl);

Это видео воспроизводится по назначению. (а alosevid3 не виден, потому что он маленький)

Если я попытаюсь

<a-video id="alosevid3" webkit-playsinline playsinline autoplay loop="true" src="#losevideo" position="-5 0 -5" rotation="0 0 0" visible="false"></a-video>

(visible = false), я получу черный экран lostVidEl. (Как я делаю без видео) Может ли кто-нибудь объяснить мне это поведение?

Дополнение - это поведение в Firefox. В браузерах Oculus и Chrome (MacOS) видеоэкран черный. (Видео воспроизводится при прямой загрузке)

1 Ответ

0 голосов
/ 13 февраля 2020

Похоже, что это проблема (ненадежной) системы управления активами a-frame (возможно, лежащей в основе 3. js кеша). Аналогичная проблема: https://github.com/aframevr/aframe/issues/4080

Теперь я загружаю видео напрямую videoEl.setAttribute ('sr c', 'images / winvideo_oA.mp4');

для моего случая этого достаточно.

...