baogutang-music/src/main/java/top/baogutang/music/enums/MusicQualityEnum.java
2024-12-12 21:00:13 +08:00

66 lines
1.5 KiB
Java

package top.baogutang.music.enums;
import lombok.Getter;
import org.apache.commons.lang3.StringUtils;
import java.util.Arrays;
/**
*
* @description:
*
* @author: N1KO
* @date: 2024/12/11 : 15:34
*/
@Getter
public enum MusicQualityEnum {
/**
* 音质 standard => 标准,
* higher => 较高,
* exhigh=>极高,
* lossless=>无损,
* hires=>Hi-Res,
* jyeffect => 高清环绕声,
* sky => 沉浸环绕声,
* dolby => 杜比全景声,
* jymaster => 超清母带',
*/
STANDARD("标准", null),
HIGHER("较高", null),
EXHIGH("极高", null),
LOSSLESS("无损", null),
HIRES("Hires音质", null),
JYEFFECT("高清环绕声", null),
SKY("沉浸环绕声", null),
DOLBY("杜比全景声", null),
JYMASTER("超清母带", null),
KBPS_128("128kbps", "mp3"),
KBPS_320("320kbps", "mp3"),
ATMOS_5_1("Atmos 5.1", "flac"),
ATMOS_2("Atmos 2", "flac"),
MASTER("Master", "flac"),
FLAC("flac", "flac"),
;
private final String desc;
private final String type;
MusicQualityEnum(String desc, String type) {
this.desc = desc;
this.type = type;
}
public static MusicQualityEnum parse(String level) {
if (StringUtils.isBlank(level)) {
return null;
}
return Arrays.stream(MusicQualityEnum.values())
.filter(e -> StringUtils.equalsIgnoreCase(e.name(), level) || StringUtils.equalsIgnoreCase(e.getDesc(), level))
.findFirst()
.orElse(null);
}
}