import { AudioClip, AudioSourceComponent, _decorator } from "cc"; import ResMgr from "./ResMgr"; import { Global } from "./Global"; const { ccclass, property } = _decorator; @ccclass("AudioMgr") export class AudioMgr { private _audioComp: AudioSourceComponent = null; private static _ins: AudioMgr = null!; public static get ins() { if (!this._ins) { this._ins = new AudioMgr(); this._ins.initAudio(); } return this._ins; } private initAudio() { this._audioComp = new AudioSourceComponent(); this._audioComp.loop = true; } public async playSound(audio: string, scale = 0.8) { if(!Global.sound_switch){ return; } let clip = await ResMgr.ins.getClip(audio); this._audioComp.playOneShot(clip, scale); } }