2

我想在我的网站打开时自动播放声音,我希望它无休止地循环播放,我希望用户能够通过一个静音/播放按钮来静音/播放它。

这是我的脚本:

<script type="text/javascript"> 

soundManager.setup({ 
url: 'scripts/soundmanager2/swf/',
flashVersion: 8,
onready: function() {
    soundManager.createSound({
        id: 'mySound',
            url: 'audio/ambiance.mp3',
            autoLoad: true,
            autoPlay: true,
            stream:true,
            onfinish: function() {loopSound(mySound);},
            volume: 50
    });
    }   
$('#mute-play').click(function(){soundManager.togglemute('mySound');})
});             
</script>

静音/播放功能有效,因为我可以手动启动和停止声音,但是当网站打开并且声音根本不循环时,声音不会自动启动。

问题是什么?

谢谢你。

4

1 回答 1

0

你还没有定义loopSound函数。

尝试这个:

function loopSound(sound) {
  window.setTimeout(function() {
    sound.play({
       onfinish:  function() {
         loopSound(sound);
       },
    });
  }, 1);  // window.setTimeout
}

soundManager.setup({
  url: '/plugins/soundmanager2/swf/',
  onready: function() {
    var sound = soundManager.createSound({
    id: 'music',
    url: 'audio.mp3'
  });
  loopSound(sound);
 }
});

$('#mute-play').click(function(){
  var sound = soundManager.getSoundById('music');
  sound.toggleMute();
})
于 2012-12-16T22:31:14.917 回答