高尔夫
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

61 lines
1.7 KiB

// 音频处理类;
function Sound() {
this.lib = library;
this.music = {};
}
Sound.of = (function () {
let instance = null;
return function () {
if (!instance) {
instance = new Sound();
}
instance.init();
return instance;
};
})();
Sound.prototype.init = function () {
createjs.Sound.alternateExtensions = ['wav'];
const sounds = [
{ src: 'sounds/beijing.wav', id: 'bgm' },
{ src: 'sounds/daqiu.wav', id: 'daqiu' },
{ src: 'sounds/jinqiu.wav', id: 'jinqiu' },
];
const _this = this;
createjs.Sound.addEventListener('fileload', function (event) {
_this.music[event.id] = createjs.Sound.createInstance(event.id);
});
createjs.Sound.registerSounds(sounds, './');
this.playBgm();
};
Sound.prototype.playBgm = function () {
this.music.bgm && this.music.bgm.play({ loop: -1, volume: 0.3 }); // 播放背景音乐
};
Sound.prototype.playda = function (direction) {
if (direction === 0) {
this.music.daqiu && this.music.daqiu.play();
}
};
Sound.prototype.playjin = function () {
this.music.jinqiu && this.music.jinqiu.play();
};
// let music = {};
// function initSound() {
// createjs.Sound.alternateExtensions = ['mp3'];
// const sounds = [
// { src: 'public/sounds/bgmMusic.mp3', id: 'bgm' },
// { src: 'public/sounds/excitationMusic.mp3', id: 'excitation' },
// { src: 'public/sounds/amazing.mp3', id: 'amazing' },
// { src: 'public/sounds/unbelievable.mp3', id: 'unbelievable' },
// ];
// createjs.Sound.addEventListener('fileload', function (event) {
// music[event.id] = createjs.Sound.createInstance(event.id);
// });
// createjs.Sound.registerSounds(sounds, '../../');
// }