有没有一种简单的方法来获得 a 帧声音的持续时间?

Is there an easy way to get the duration of a a-frame sound?

我使用 A 帧并希望在声音持续时间内播放动画(使用声音组件)。但是我无法获得这个值。有没有一种简单的方法可以发现 *.mp3 文件的长度? (目前保存为 url-string)或者我必须使用外部库吗?

<a-entity sound:src="http://<website>.audioFile.mp3"></a-entity>

要从附加到元素的声音组件中获取此内容,您可以编写

var mySound = document.querySelector('#yourElement').components.sound.attrValue.src

然后

var myAudioDuration = document.querySelector(mySound).duration

持续时间将存储在该变量中。


或者,假设您的音频文件保存在 ID 为 'myAudio' 的资产中,例如

<a-assets>
 <audio id="myAudio" src="path/to/audiofile.mp3"></audio>
</a-assets>

你可以写

var myAudioDuration = document.querySelector('#myAudio').duration

持续时间将存储在该变量中。

希望对你有所帮助

您可以阅读有关 audio/video 标签控件的更多信息 here