我智商爆棚
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.
 
 
 
 
 

105 lines
2.8 KiB

/*
* @Descripttion:
* @version: 1.0.0
* @Author: YeeChan
* @Date: 2020-07-09 18:54:40
*/
/**
* 声音管理
*/
export default class SoundMgr {
public static readonly soundResPath_custom: string = "Sound/"
public static readonly soundSpineResPath_custom: string = "Spine/"
//声音开关
private static enabled_custom: boolean = true;
//获取声音的开关
public static isSoundEnabled_custom() {
return this.enabled_custom;
}
//设置声音的开关
public static setSoundEnabled_custom(enabled: boolean) {
this.enabled_custom = enabled;
if (!this.enabled_custom) {
this.stopMusic_custom();
}
}
/**
* 播放背景音
* resources/Sound/aaa.mp3 playBGM("aaa")
* @param name 具体名字 不带后缀.mp3
*/
public static playMusic_custom(name: string) {
if (!this.enabled_custom)
return;
let url = this.getSoundUrl_custom(name);
//播放背景音乐
cc.resources.load(url, cc.AudioClip, function (err, clip: cc.AudioClip) {
if (err) {
LogUtils.error_custom(err);
return;
}
cc.audioEngine.playMusic(clip, true);
});
}
/**
* 停止播放背景音乐
*/
public static stopMusic_custom() {
cc.audioEngine.stopMusic();
}
/**
* 播放音效
* resources/Sound/aaa.mp3 playSound("aaa")
* @param name 具体名字 不带后缀.mp3
*/
public static playSound_custom(name: string) {
if (!this.enabled_custom) {
return;
}
let url = this.getSoundUrl_custom(name);
//console.log(url)
cc.resources.load(url, cc.AudioClip, function (err, clip: cc.AudioClip) {
if (err) {
LogUtils.error_custom(err);
return;
}
let audioID_custom = cc.audioEngine.play(clip, false, 1);
});
}
/**
* 播放spine 自定义声音
* @param eventStringValue 文件夹+文件 resources/Spine/123/aaa.mp3 playSoundResources_custom("123/aaa")
* @param animationName
*/
public static playSpineSound_custom(eventStringValue: string, animationName: string) {
if (!this.enabled_custom) {
return;
}
let url = this.soundSpineResPath_custom + animationName;
//console.log(url)
cc.resources.load(url, cc.AudioClip, function (err, clip: cc.AudioClip) {
if (err) {
LogUtils.error_custom(err);
return;
}
let audioID_custom = cc.audioEngine.play(clip, false, 1);
});
}
public static getSoundUrl_custom(name: string): string {
let url = this.soundResPath_custom + name;
return url;
}
}