私は、SoundJS を使用するブラウザー間で一貫性のない動作に遭遇しました。つまり、IE11 は、Abstract Sound Instances からの再生にけちです。
次のコードは、私がテストした他のすべてのブラウザーで機能しますが、IE11 では機能しません。
<html>
<head>
<script src="https://code.createjs.com/soundjs-0.6.1.min.js"></script>
<script>
var sounds = {}
function loadSounds() {
createjs.Sound.registerSound('audio/song.mp3', 'song', 1);
songInst = createjs.Sound.createInstance('song');
sounds['song'] = songInst;
}
function startSound(id,v,l){
sounds[id].play({loop:((l===true)?-1:0),volume:v});
}
</script>
</head>
<body onload="loadSounds()">
<button value="StartSound" onclick="startSound('song',1,true)">startSound</button>
</body>
</html>
startSound() 関数を次のように変更することで、IE11 でサウンドを再生できます。
function startSound(id,v,l){
createjs.Sound.play(id,{loop:((l===true)?-1:0),volume:v});
}
しかし、これは残りの実装で問題を引き起こします。各サウンドには、ボリューム トゥイーンなどの機能のためにコールバックできる一意に識別可能なインスタンスが必要になるからです。
最初のアプローチを機能させるために欠けているものはありますか?