2

サイトが開いたときに自動的にサウンドを再生したいのですが、無限にループさせたいのですが、ユーザーが1つのミュート/再生ボタンでミュート/再生できるようにしたいのです。

これがmysスクリプトです。

<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 に答える