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 内只增不破。