2012-09-26 123 views
0

好的,這件事太棒了!我在我的.js文件中安裝了SoundManager 2,並在我的頁面上播放了音頻。我現在唯一的問題就是搞清楚如何在audioManager.setup({...})之外播放音頻。例如,下面的偉大工程......跨功能訪問SoundManager 2

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'); 
} 

...音頻不玩。任何建議都會很棒!

謝謝

回答

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'); 

希望這可以幫助別人:)

+0

哇...這幫了我很多,感謝分享 –

1

您是否嘗試過這樣的事情?

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

它在我的項目中工作。