qfedu-c-level/lyric_analysis/srcs/includes/lrc.h

25 lines
966 B
C

#ifndef __LRC_H__
#define __LRC_H__
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct lrc
{
int time; // 歌词时间点
// long time; // 用于毫秒级延时
char lrc_buf[200]; // 歌词内容
int lrc_cur_num; // 当前歌词行数, 用于标记当前歌词(第几句歌词 从1开始)
struct lrc *next; // 指向下一行歌词(指向链表下一个节点)
} LRC;
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); // 查找歌词节点 (根据时间点查找歌词节点) (用于毫秒级延时)
#endif