【问题标题】:How to use blobs or dataURL as src of a-frame or a-sky for 360photos如何使用 blobs 或 dataURL 作为 360photos 的 a-frame 或 a-sky 的 src
【发布时间】:2019-02-18 07:19:21
【问题描述】:

我正在编写一个简单的脚本来在 VR 中显示 360 度图像,同时动态更改图像。 目前,下一个图像源由一个简单的超时设置(在 4 个本地 .jpg 中),但我计划从远程相机获取图像,然后每 x 秒更新一次天空视图。

我能够更改 a-sky src 属性并设置不同的 n.jpg。 但我无法将 blob 设置为源。

现在我只是将本地 jpg 转换为 blob,但下一步是要求远程相机 api 获取 jpg 二进制文件,并将其转换为 blob url。 无论如何,没有显示新图像。 它似乎仅在您将静态内容作为 src 时才有效。

我该怎么办? 谢谢

这里部分出处:

      setInterval(updatePanImg, 2000);
      var seq = 1;
      function updatePanImg() {

          let blob_src;
          if (seq >= 4) seq = 1; else seq++;
          blob_src = seq + ".jpg";
          console.log('blob_src update ' + blob_src);

          //1-working (/imgname.jpg)
          //document.getElementById('asky').setAttribute("material", "src", blob_src);

          //2-not working (/blob:......)
          return fetch(blob_src)
              .then((response)=> {
                return response.blob();
              })
              .then(blob => {
                  let blob_src_url = URL.createObjectURL(blob);
                  document.getElementById('asky').setAttribute("material", "src", blob_src_url);
                return blob_src_url;
              });
        }


<script src="aframe-master.min.js"></script>
<a-scene>
  <a-sky id="asky" material="opacity:1; src: 4.jpg" rotation="0 -130 0" foo></a-sky>
</a-scene>

【问题讨论】:

  • 这两个看起来都应该可以工作......你能多说点什么不适合 (2) 吗?您在 JS 控制台中看到错误了吗?理想情况下,现场演示会更好。
  • @DonMcCurdy 在控制台中没有错误。您可以在此处查看 sn-p:jsfiddle.net/w1z5kgc3/9
  • 也试过改变标准的'src'标签而不是材料,但行为是一样的。它不喜欢数据 url..
  • 根据我的经验,数据 url(例如setAttribute("src", "data:image/...;base64,..."))似乎有效,但我无法让 blob 出现。

标签: blob aframe src virtual-reality


【解决方案1】:

尝试将其包装在 url() 中,也许?只要 blob 以类似数据开头

document.getElementById('asky').setAttribute("material", "src", `url(data:image/png;base64,${blob_src_url})`);

添加data:image/png;base64, 或其他格式(如果还没有的话)。

【讨论】:

猜你喜欢
  • 2020-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多