1

我可以 .play() 资产,但不能使用以下结构的实体:

 <a-scene>
    <a-assets>
        <audio id="assetNarration" src="snd/dt_narration_1.mp3" preload="auto" autoplay="false">
        <video id="video" src="video/Open_Sky.mp4" autoplay="false" loop></video>
    </a-assets>
        <a-sound id="entityNarration" src="#assetNarration" autoplay="false" position="0 5 0" volume="0.5"></a-sound>
        <a-videosphere id="v1" src="#video" autoplay="false" rotation="0 90 0"></a-videosphere>
 </a-scene>

这允许我触发:

var nar = document.querySelector('#assetNarration');
var vid = document.querySelector('#video');
nar.play();
vid.play();

..但不是

var nar = document.querySelector('#entityNarration');
var vid = document.querySelector('#v1');
nar.play();
vid.play();

与此的主要区别在于我在实体上设置了数量和位置值,如果我直接在资产上触发 .play() 则会忽略这些值。

4

1 回答 1

1

也许试试el.components.sound.playSound()。否则,请尝试直接传递内联 URL,因为它会创建一个更灵活的音频缓冲区。

于 2016-10-03T22:51:42.657 回答