2016-10-03 2 views
1

Ich bin in der Lage zu .play() Vermögen, aber nicht Einheiten in der folgenden Struktur:Play() Vermögen vs. Einheit in aframe

var nar = document.querySelector('#assetNarration'); 
var vid = document.querySelector('#video'); 
nar.play(); 
vid.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> 

Diese mich auslösen können

..aber nicht

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

der wesentliche Unterschied dabei ist, dass ich Volumens- und Positionswerte auf der Einheit habe die Einrichtung, die ignoriert werden, wenn ich auslösen .play () direkt auf dem Vermögenswert.

+1

Tippfehler, AsssetNaration mit Doppel-ss? –

+0

Danke @VuralAcar, aber ich habe Code hier in SO zu Vereinfachungszwecken neu eingegeben. Mein tatsächlicher Code benutzt andere Variablen. Aber danke! –

Antwort

1

Vielleicht versuchen el.components.sound.playSound(). Andernfalls versuchen Sie, eine Inline-URL direkt zu übergeben, da sie einen etwas flexibleren Audiopuffer erzeugt.

+0

'Uncaught TypeError: nar.playSound ist keine Funktion' Übergeben einer Inline-URL überspringt direkt das Vorladen der Datei, richtig? Mein tatsächlicher Code ist stark auf angewiesen, um alles vor dem Ausführen des Rests des Codes zu laden. BTW, ich bearbeite meinen Beitrag, um dies zu zeigen, aber die Frage geht über nur Audio hinaus. Ich kann anscheinend keine Aktion auf Entitäten auslösen ... Video oder Ton. –

+0

Entschuldigung, aktualisiert für 'el.components.sound.playSound()'. Sie können versuchen, '' zu verwenden, um innerhalb des three.js-Systems vorzuladen. – ngokevin

+0

'nar.components.sound.playSound()' hat funktioniert. –