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