2023-07-22 10:34:16 +08:00
|
|
|
#ifndef __LRC_H__
|
|
|
|
#define __LRC_H__
|
|
|
|
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <string.h>
|
|
|
|
|
2023-07-22 15:40:53 +08:00
|
|
|
typedef struct lrc
|
|
|
|
{
|
2023-07-23 17:30:05 +08:00
|
|
|
int time; // 歌词时间点
|
|
|
|
// long time; // 用于毫秒级延时
|
2023-07-22 15:40:53 +08:00
|
|
|
char lrc_buf[200]; // 歌词内容
|
|
|
|
int lrc_cur_num; // 当前歌词行数, 用于标记当前歌词(第几句歌词 从1开始)
|
2023-07-23 17:30:05 +08:00
|
|
|
|
|
|
|
struct lrc *next; // 指向下一行歌词(指向链表下一个节点)
|
2023-07-22 15:40:53 +08:00
|
|
|
} LRC;
|
|
|
|
|
2023-07-23 17:30:05 +08:00
|
|
|
FILE *open_lrc_file(const char *lrc_path); // 打开歌词文件
|
|
|
|
long get_lrc_size(FILE *fp); // 获取歌词文件大小
|
|
|
|
char *get_lrc_mem_data(FILE *fp); // 获取歌词文件内容
|
|
|
|
LRC *insert_lrc_node(LRC *head, LRC new_node); // 插入歌词节点 (尾插法)
|
|
|
|
LRC *search_lrc_node(LRC *head, int time); // 查找歌词节点 (根据时间点查找歌词节点)
|
|
|
|
// LRC *search_lrc_node(LRC *head, long time); // 查找歌词节点 (根据时间点查找歌词节点) (用于毫秒级延时)
|
2023-07-22 10:34:16 +08:00
|
|
|
|
|
|
|
#endif
|