12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- // import LocalData from "../Template/LocalData";
- import LocalData from "./LocalData";
- export default class AudioManager {
- public static readonly instance: AudioManager = new AudioManager();
- public static HALL_BG_MUSIC = "Audio/通用bgm";
- public static Game_BG_MUSIC = "Audio/通用bgm";
- public static BUTTON_EFFECT1 = "Audio/btn1";
- public static eatJinbi = "Audio/吃金币音效";
- public static 预发射音效 = "Audio/预发射音效";
- public bgPath = null;
- public playOnlyOnceAudioRecord: object = null;
- constructor() {
- this.UpdateVolume()
- }
- public UpdateVolume() {
- if (LocalData.getInstance().getMusic()) {
- cc.audioEngine.setMusicVolume(1)
- } else {
- cc.audioEngine.setMusicVolume(0)
- }
- if (LocalData.getInstance().getEffects()) {
- cc.audioEngine.setEffectsVolume(1)
- } else {
- cc.audioEngine.setEffectsVolume(0)
- }
- }
- public getSoundUrl(path: string): Promise<cc.AudioClip> {
- return new Promise<cc.AudioClip>((re, rj) => {
- cc.loader.loadRes(path, cc.AudioClip, (error: Error, resource: cc.AudioClip) => {
- if (!error) {
- re(resource);
- } else {
- re(null);
- }
- });
- })
- }
- public playBg(path: string) {
- cc.audioEngine.stopMusic();
- (async () => {
- let au = await this.getSoundUrl(path);
- if (cc.isValid(au)) {
- let audioId = cc.audioEngine.playMusic(au, true);
- }
- })();
- }
- public playEffect(effectName: string) {
- (async () => {
- let au = await this.getSoundUrl(effectName);
- if (cc.isValid(au)) {
- let audioId = cc.audioEngine.playEffect(au, false);
- }
- })();
- }
- public playGameBg() {
- this.playBg(AudioManager.Game_BG_MUSIC);
- }
- public playHallBg() {
- this.playBg(AudioManager.HALL_BG_MUSIC);
- }
- public playBtnEffect(effectType: number = 0) {
- switch (effectType) {
- case 0:
- this.playEffect(AudioManager.BUTTON_EFFECT1);
- break;
- case 1:
- break;
- case 2:
- break;
- default:
- break;
- }
- }
- public static stopBg() {
- cc.audioEngine.stopMusic();
- }
- }
|