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.
106 lines
2.8 KiB
106 lines
2.8 KiB
4 weeks ago
|
/*
|
||
|
* @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;
|
||
|
}
|
||
|
}
|