ea470a0a-d1f3-4de3-b067-5caa1940adcc.js.map 6.47 KB
{"version":3,"sources":["assets/script/common/gameplay/managers/AudioManager.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import { SettingEvents } from \"../../event/BaseEvents\";\nimport { GameBasicSettings } from \"../settings/GameBasicSettings\";\nimport { ResUtils } from \"../../utils/ResUtils\";\nimport { delay } from \"simba-utils\";\n\nexport namespace AudioManager {\n    let _musicPathPrefix: string = \"\";\n    let _voicePathPrefix: string = \"\";\n    let _effectPathPrefix: string = \"\";\n\n    export function init(musicPathPrefix = \"\", effectPathPrefix = \"\", voicePathPrefix = \"\") {\n        _musicPathPrefix = musicPathPrefix;\n        _voicePathPrefix = voicePathPrefix;\n        _effectPathPrefix = effectPathPrefix;\n        cc.audioEngine.setMusicVolume(GameBasicSettings.musicVolume);\n        cc.audioEngine.setEffectsVolume(GameBasicSettings.soundVolume);\n        SettingEvents.MusicVolumeChange.on((volume) => {\n            cc.audioEngine.setMusicVolume(volume);\n            if (volume === 0) {\n                cc.audioEngine.pauseMusic();\n            } else {\n                cc.audioEngine.resumeMusic();\n            }\n        });\n        SettingEvents.SoundVolumeChange.on((volume) => {\n            cc.audioEngine.setEffectsVolume(volume);\n        });\n    }\n\n    export async function playMusic(path: string) {\n        if (path[0] !== \"/\") path = _musicPathPrefix + path;\n        if (!GameBasicSettings.musicVolume) return;\n        try {\n            let clip = await ResUtils.loadRes<cc.AudioClip>(path, cc.AudioClip);\n            cc.audioEngine.playMusic(clip, true);\n        } catch (e) {\n            console.error(e);\n        }\n    }\n\n    export function pauseMusic() {\n        cc.audioEngine.pauseMusic();\n    }\n\n    export function resumeMusic() {\n        cc.audioEngine.resumeMusic();\n    }\n\n    export function stopMusic() {\n        cc.audioEngine.stopMusic();\n    }\n\n    export async function playEffect(path: string, loopCount = 1) {\n        if (path[0] !== \"/\") path = _effectPathPrefix + path;\n        if (!GameBasicSettings.soundVolume) return NaN;\n        try {\n            let clip = await ResUtils.loadRes<cc.AudioClip>(path, cc.AudioClip);\n            if (loopCount <= 0) {\n                return cc.audioEngine.playEffect(clip, true);\n            } else {\n                for (let i = 0; i < loopCount; i++) {\n                    let id = cc.audioEngine.playEffect(clip, false);\n                    let time = cc.audioEngine.getDuration(id);\n                    await delay(time);\n                }\n                return NaN;\n            }\n        } catch (e) {\n            console.error(e);\n        }\n    }\n\n    export async function playVoice(path: string) {\n        if (path[0] !== \"/\") path = _voicePathPrefix + path;\n        stopAllEffect();\n        try {\n            let clip = await ResUtils.loadRes<cc.AudioClip>(path, cc.AudioClip);\n            let id = cc.audioEngine.playEffect(clip, false);\n            let time = cc.audioEngine.getDuration(id);\n            await delay(time);\n        } catch (e) {\n            console.error(e);\n        }\n    }\n\n    export function stopEffect(id: number) {\n        if (!isNaN(id)) {\n            cc.audioEngine.stopEffect(id);\n        }\n    }\n\n    export function stopAllEffect() {\n        cc.audioEngine.stopAllEffects();\n    }\n\n}"]}