如何检测当前是否有任何声音在soundJS中播放?

时间:2016-01-12 11:10:52

标签: audio createjs soundjs

如何检测soundJS中是否有声音?

我有很多声音有时合理地开启和关闭。我需要一种方法来确定在任何给定时间是否有任何声音在播放 即。

之类的东西

createjs.Sound.isPlaying()

createjs.Sound.status()

1 个答案:

答案 0 :(得分:2)

目前在SoundJS中没有这样的东西。

您可以自己查找,但它涉及深入挖掘私人会员,不推荐,并且可能会破坏内容。这是一个快速示例:

function countActiveSounds() { 
    var s = createjs.Sound.activePlugin, 
        count = 0; 
    for (var n in s._soundInstances) { 
        var inst = s._soundInstances[n];
        for (var i=0, l=inst.length; i<l; i++) {
            var p = inst[i];
            if (p.playState == "playSucceeded") { count++; }
        }
    }
    return count;
}

这涉及读取私有_soundInstances哈希,并检查声音状态是否为&#34; playSucceeded&#34;。一旦完成,状态将变为&#34; playFinished&#34;。

同样,请谨慎使用:)

将功能请求记录到SoundJS GitHub

可能是有意义的