音乐播放器同步歌词源码解析
歌词lyric.h头文件
#ifndef LRC_H
#define LRC_H
int LyricInit(char *lrcpath);
int LyricDestroy();
char *GetLyricByStartTime(int startTime);
char *GetLyricByPos(int pos);
int GetLyricTotalLine();
#endif
传入歌词路径调用LyricInit函数初始化歌词,不再使用后调用LyricDestroy销毁歌词,通过GetLyricByStartTime获取对应时间的歌词。
typedef struct LineLyric LineLyric;
struct LineLyric
{
int startTime; // second millisecond
char szLrc[LRC_LEN_MAX];
LineLyric *next;
};
LineLyric *g_lineLyricHead = NULL;
LineLyric *g_lineLyricTail = NULL;
int g_lineLyricCount = 0;
存储歌词使用单链表及g_lineLyricHead