Theseus 模组文档
API 参考 / 只读视图、场景、音频与文本

SoundCategory


音频类别枚举。与宿主音频引擎的类别体系一致,用于标识音效/音乐所属的类别;模组经 PlayingSound 的 category() 读到它,从而知道某个正在播放的音效受哪一路音量控制。

方法速览

方法用途
SFX界面/校准/编辑器音效
HITSOUND打击音效
BGM背景音乐
CHART_MUSIC谱面音乐
values() / valueOf(String)枚举默认静态方法

SFX

java
SFX,

行为:界面 / 校准 / 编辑器音效,受 SFX 音量控制;宿主对未识别的内部类别也回退映射到本值。 示例:

java
if (s.category() == SoundCategory.SFX) { /* 界面音 */ }

HITSOUND

java
HITSOUND,

行为:打击音效,受 HITSOUND 音量控制。示例:

java
boolean hit = s.category() == SoundCategory.HITSOUND;

BGM

java
BGM,

行为:背景音乐,受 BGM 音量控制。示例:

java
boolean bgm = s.category() == SoundCategory.BGM;

CHART_MUSIC

java
CHART_MUSIC,

行为:谱面音乐,受谱面音乐音量控制。示例:

java
boolean chartMusic = s.category() == SoundCategory.CHART_MUSIC;

values()

java
public static SoundCategory[] values();

行为:枚举常量数组(按声明顺序),由编译器生成。示例:

java
for (SoundCategory c : SoundCategory.values()) { /* ... */ }

valueOf(String)

java
public static SoundCategory valueOf(String name);

行为:按名称取枚举常量;名称不匹配时抛 IllegalArgumentException。示例:

java
SoundCategory c = SoundCategory.valueOf("SFX");

完整签名

java
public enum SoundCategory {
    SFX,
    HITSOUND,
    BGM,
    CHART_MUSIC;
    public static SoundCategory[] values();
    public static SoundCategory valueOf(String name);
}

关键契约:各类别只受对应类别音量控制,模组无法通过该枚举改音量;音量设置走 AudioAccess#setMusicVolume 与各自的注册/播放接口。

线程:源码未声明额外线程约束。

稳定性:2.0 起冻结:2.x 内只增不破。