我正在考虑将SoundJS用于在线声音界面,我对这些不同的例子感到有些困惑。
Sound Grid示例的简单性很吸引人。按下按钮,发出声音。但我希望能够控制各个声音的音量和声音。在Test Suite中,这似乎是可能的,但在此示例中,您必须首先创建声音实例,然后才能控制它的音量/声像。
这让我感到困惑。我想参考声音加载界面并存储直到页面关闭。我没有将它用于游戏,因此破坏未使用或很少使用的资源并不重要。基本上,如果您看到将用于激活声音的界面元素,我希望它准备好并且可以控制。我设想每页大约15个声音。一些较长的循环元素,大多是一次拍摄。
来自文档:
创建AbstractSoundInstance后,可以存储一个可用于直接通过AbstractSoundInstance控制音频的引用。如果未存储引用,AbstractSoundInstance将播放其音频(以及任何循环),然后从Sound类中取消引用,以便可以清除它
这始终是一个两步过程吗?我想我正在寻找的是一个版本的soundGrid,带有简单的每个音量/平移/循环控制。
答案 0 :(得分:2)
您要找的是Sound.play。具体来说,您要在播放呼叫上设置参数。您还可以使用Sound.createInstance和SoundInstance.play来获得相同的结果。
var SoundInstance = createjs.Sound.play("myAudioID", {loop: 2, volume: 0.75, pan: 0.5});
在回答您的评论时,您可以在对象哈希中存储可重复使用的声音实例。
var mySounds = {};
mySounds["id1"] = createjs.Sound.createInstance("id1);
...
var currentSI = mySounds["id1];
currentSI.volume = 0.5;
希望有所帮助。