-
Notifications
You must be signed in to change notification settings - Fork 1
API Reference
所有 API 通过 lyrics-helper 门面 crate 暴露,使用 use lyrics_helper::* 即可访问。
自动检测歌词格式并解析。
<syntaxhighlight lang="rust"> pub fn parse_auto(input: &str) -> Result<LyricsData, String> </syntaxhighlight>
-
input: 歌词文本内容 - 返回:
LyricsData结构体
指定格式解析歌词。
<syntaxhighlight lang="rust"> pub fn parse(input: &str, raw_type: LyricsRawTypes) -> Result<LyricsData, String> </syntaxhighlight>
-
input: 歌词文本内容 -
raw_type: 歌词格式类型
将 LyricsData 生成为指定格式的字符串。
<syntaxhighlight lang="rust"> pub fn generate_string(data: &LyricsData, lyrics_type: LyricsTypes) -> Result<String, String> </syntaxhighlight>
-
data: 歌词数据 -
lyrics_type: 目标格式
解密 QRC 加密歌词。
<syntaxhighlight lang="rust"> pub fn decrypt_qrc(encrypted: &str) -> Result<String, String> </syntaxhighlight>
解密 KRC 加密歌词。
<syntaxhighlight lang="rust"> pub fn decrypt_krc(encrypted: &[u8]) -> Result<String, String> </syntaxhighlight>
歌词数据的顶层结构:
<syntaxhighlight lang="rust"> pub struct LyricsData { pub lines: Option<Vec<LineInfo>>, pub track: Option<TrackMetadata>, // ... } </syntaxhighlight>
单行歌词信息:
<syntaxhighlight lang="rust"></syntaxhighlight> pub struct LineInfo {
pub start_time: Option<f64></f64>,
pub end_time: Option<f64>,
pub content: Option<String>,
pub syllables: Option<Vec<SyllableInfo>>,
// ...
} </syntaxhighlight></f64>
逐字/逐音节信息:
<syntaxhighlight lang="rust"></syntaxhighlight> pub struct SyllableInfo {
pub start_time: Option<f64></f64>,
pub duration: Option<f64>,
pub content: Option<String>,
// ...
} </syntaxhighlight></f64>
曲目元数据:
<syntaxhighlight lang="rust"></syntaxhighlight> pub struct TrackMetadata {
pub title: Option<String>,
pub artist: Option<String>,
pub album: Option<String>,
pub duration: Option<f64>,
// ...
} </syntaxhighlight></f64>
输入格式枚举,用于 parse() 的第二个参数。
输出格式枚举,用于 generate_string() 的第二个参数。
- Getting-Started - 基本用法
- Examples - 完整示例代码