0

わかりました、これは素晴らしいです!.jsファイル内でSoundManager2をセットアップし、ページでオーディオを再生しています。現時点での私の唯一の質問は、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 に答える