0

我正在考虑将 SoundJS 用于在线声音界面,但我对不同的示例感到有些困惑。

Sound Grid 示例的简单性很有吸引力。按下按钮,听到声音。但我希望能够控制各个声音的音量和声相。在测试套件中,这似乎是可能的,但在此示例中,您必须先创建声音实例,然后才能控制它的音量/声相。

这让我很困惑。我希望将声音的引用与界面一起加载并存储到页面关闭为止。我没有将它用于游戏,因此销毁未使用或很少使用的资源并不重要。基本上,如果您看到将用于激活声音的界面元素,我希望它准备就绪并且可以控制。我设想每页大约有 15 个声音。一些较长的循环元素,大部分是一个镜头。

从文档:

创建 AbstractSoundInstance 后,可以存储一个引用,该引用可用于直接通过 AbstractSoundInstance 控制音频。如果未存储引用,则 AbstractSoundInstance 将播放其音频(和任何循环),然后从 Sound 类中取消引用,以便清理它

这总是一个两步过程吗?我想我正在寻找的是一个带有简单的每个垫音量/平移/循环控制的 soundGrid 版本。

4

1 回答 1

2

您正在寻找的是Sound.play。具体来说,您希望在 play 调用中设置参数。您还可以使用Sound.createInstanceSoundInstance.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;

希望有帮助。

于 2015-03-19T22:58:09.853 回答