0

好的,这东西太棒了!我在我的 .js 文件中安装了 SoundManager 2,并在我的页面上播放了音频。目前我唯一的问题是弄清楚如何在 soundManager.setup({...}) 之外播放音频。例如下面的作品很好......

function mSound() {
/*SETUP SOUND MANAGER 2*/
soundManager.setup({
// where to find flash audio SWFs, as needed
url: 'audio/',
onready: function() {
console.log('SM2 is ready to play audio!');

    /*MY SOUND COLLECTIONS*/ 
    soundManager.createSound({
    id: 'myIntro',
    url: 'audio/Indonesia.mp3',
    autoPlay: false,
    volume: 15
    });
    soundManager.play('myIntro');

}
});
}

但是,如果我尝试将 soundManager.play('myIntro') 放入另一个函数中,例如...

function mIntro() {
 soundManager.play('myIntro');
}

...音频不播放。任何建议都会很棒!

谢谢

4

2 回答 2

1

你有没有尝试过这样的事情?

var sound = soundManager.getSoundById('myIntro');
sound.play();

它在我的项目中工作。

于 2012-12-16T20:21:35.530 回答
1

我想我解决了。通过将局部变量设置为我的 mSound() 函数的参数,如下所示......

function mSound(id,url,volume) {
this.id = id;
this.url = url;
this.volume = volume;

/*SETUP SOUND MANAGER 2*/
soundManager.setup({
url: 'audio/',
onready: function() {
         //console.log('SM2 is ready to play audio!');
     /*MY SOUND COLLECTIONS*/ 
     soundManager.createSound({
     id: id,
     url: 'audio/'+ url,
     volume: volume
     });
     soundManager.play(id);
     }
}); 
}

...我现在可以在其他 javascript 函数中做类似这样的很酷的东西并播放声音!

mSound('myIntro','Indonesia.mp3',5);

加载自定义函数后,您仍然可以使用 soundManager 全局对象属性。例如,您可以稍后在代码中像这样暂停您的曲目...

 soundManager.togglePause('myIntro');

希望这可以帮助某人:)

于 2012-09-26T15:24:42.073 回答