mirror of
https://github.com/oopuuu/zTC1.git
synced 2025-12-19 08:23:22 +08:00
修复mico-sdk错误
This commit is contained in:
@@ -1,114 +1,114 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Mountain View Silicon Tech. Inc.
|
||||
// Copyright 2012, Mountain View Silicon Tech. Inc., Shanghai, China
|
||||
// All rights reserved.
|
||||
// Filename: lrc.h
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef __LRC_H__
|
||||
#define __LRC_H__
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif//__cplusplus
|
||||
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
typedef enum _TEXT_ENCODE_TYPE
|
||||
{
|
||||
ENCODE_UNKNOWN,
|
||||
ENCODE_ANSI,
|
||||
ENCODE_UTF8,
|
||||
ENCODE_UTF16, // unicode
|
||||
ENCODE_UTF16_BIG,
|
||||
ENCODE_GBK,
|
||||
} TEXT_ENCODE_TYPE;
|
||||
|
||||
typedef struct _LRC_ROW
|
||||
{
|
||||
int32_t StartTime; // <20><>ʼʱ<CABC><CAB1><EFBFBD><EFBFBD>, ms
|
||||
uint32_t Duration; // <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>г<EFBFBD><D0B3><EFBFBD>ʱ<EFBFBD><CAB1>, ms
|
||||
uint8_t* LrcText; // <20><><EFBFBD><EFBFBD>ָ<EFBFBD>룬<EFBFBD><EBA3AC><EFBFBD>ⲿ<EFBFBD><E2B2BF><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>
|
||||
int16_t MaxLrcLen; // <20><><EFBFBD><EFBFBD>Buffer<65><72><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>С
|
||||
} LRC_ROW;
|
||||
|
||||
#pragma pack()
|
||||
|
||||
/**
|
||||
* @brief <20><><EFBFBD>ļ<EFBFBD>ȫ·<C8AB><C2B7><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>Lrc Parser, <20><>ע<EFBFBD>⡿<EFBFBD><E2A1BF>֧<EFBFBD><D6A7>ͬʱ<CDAC><EFBFBD><F2BFAAB6><EFBFBD>Lrc Parser
|
||||
* @param input CurFolder <20><>ǰ<EFBFBD>ļ<EFBFBD><C4BC>о<EFBFBD><D0BE><EFBFBD>
|
||||
* @param input FileName <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ȫ·<C8AB><C2B7>
|
||||
* @param input FileNameLen <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* @param input ReadBuffer Lrc Parser<65>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4>ռ䣬<D5BC><E4A3AC><EFBFBD>û<EFBFBD><C3BB>ⲿָ<E2B2BF><D6B8><EFBFBD>ڴ<EFBFBD><DAB4>ռ䣬
|
||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪNULL<4C><4C>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD>Parser<65>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>
|
||||
* @param input ReadBufSize Lrc Parser<65><72><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><D5BC>Ĵ<EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><D5BC><EFBFBD><EFBFBD>û<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ReadBuffer != NULL<4C><4C><EFBFBD><EFBFBD>
|
||||
* <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD> >= 128<32><38><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><D5BC><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>䣬<EFBFBD><E4A3AC>ֵ<EFBFBD><D6B5><EFBFBD>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD> >= 128<32><38>ֵ<EFBFBD>⣬
|
||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0<CEAA><30><EFBFBD><EFBFBD>ʾLrc Parser<65>Լ<EFBFBD>Ĭ<EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD>512Bytes<65>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD>ռ<EFBFBD>
|
||||
* @return Success - TRUE, Fail - FALSE
|
||||
*/
|
||||
bool OpenLrcByFileName(FOLDER* CurFolder, uint8_t* FileName, uint32_t FileNameLen,
|
||||
uint8_t* ReadBuffer, uint32_t ReadBufSize);
|
||||
|
||||
/**
|
||||
* @brief <20><><EFBFBD>ļ<EFBFBD>ID<49>ų<EFBFBD>ʼ<EFBFBD><CABC>Lrc Parser, <20><>ע<EFBFBD>⡿<EFBFBD><E2A1BF>֧<EFBFBD><D6A7>ͬʱ<CDAC><EFBFBD><F2BFAAB6><EFBFBD>Lrc Parser
|
||||
* @param input CurFolder <20><>ǰ<EFBFBD>ļ<EFBFBD><C4BC>о<EFBFBD><D0BE><EFBFBD>
|
||||
* @param input FileId <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ID<49><44><EFBFBD><EFBFBD>CurFolder != NULLʱ<4C><CAB1>ʾȫ<CABE><C8AB>ID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ID
|
||||
* @param input ReadBuffer Lrc Parser<65>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4>ռ䣬<D5BC><E4A3AC><EFBFBD>û<EFBFBD><C3BB>ⲿָ<E2B2BF><D6B8><EFBFBD>ڴ<EFBFBD><DAB4>ռ䣬
|
||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪNULL<4C><4C>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD>Parser<65>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>
|
||||
* @param input ReadBufSize Lrc Parser<65><72><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><D5BC>Ĵ<EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><D5BC><EFBFBD><EFBFBD>û<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ReadBuffer != NULL<4C><4C><EFBFBD><EFBFBD>
|
||||
* <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD> >= 128<32><38><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><D5BC><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>䣬<EFBFBD><E4A3AC>ֵ<EFBFBD><D6B5><EFBFBD>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD> >= 128<32><38>ֵ<EFBFBD>⣬
|
||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0<CEAA><30><EFBFBD><EFBFBD>ʾLrc Parser<65>Լ<EFBFBD>Ĭ<EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD>512Bytes<65>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD>ռ<EFBFBD>
|
||||
* @return Success - TRUE, Fail - FALSE
|
||||
*/
|
||||
bool OpenLrcByFileId(FOLDER* CurFolder, uint32_t FileId,
|
||||
uint8_t* ReadBuffer, uint32_t ReadBufSize);
|
||||
|
||||
/**
|
||||
* @brief <20>ر<EFBFBD>Lrc Parser
|
||||
* @return Success - TRUE, Fail - FALSE
|
||||
*/
|
||||
bool CloseLrcFile(void);
|
||||
|
||||
/**
|
||||
* @brief <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD>и<EFBFBD><D0B8>ʵ<EFBFBD>ʵ<EFBFBD>ʳ<EFBFBD><CAB3>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD> -1
|
||||
* @param input SeekTime <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
||||
* @param <20><><EFBFBD>û<EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD>ö<EFBFBD>̬<EFBFBD>ڴ<EFBFBD><DAB4>ķ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>ø<EFBFBD><C3B8><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD>GetLrcInfo<66><6F><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0>
|
||||
* <20>ȵ<EFBFBD><C8B5>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4>֪<EFBFBD><D6AA><EFBFBD>ض<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8>ʳ<EFBFBD><CAB3>ȣ<EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ棬
|
||||
* <20><>ΪGetLrcInfo<66><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* @return <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ĸ<EFBFBD><C4B8>ʳ<EFBFBD><CAB3>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʣ<EFBFBD><CAA3><EFBFBD>-1
|
||||
*/
|
||||
int32_t GetLrcTextLength(uint32_t SeekTime);
|
||||
|
||||
/**
|
||||
* @brief <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>Ҫ<EFBFBD>и<EFBFBD><D0B8><EFBFBD><EFBFBD><EFBFBD>ʼʱ<CABC>䣬<EFBFBD><E4A3AC><EFBFBD><EFBFBD>ʱ<EFBFBD>䣬<EFBFBD><E4A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* @param input SeekTime <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
||||
* @param input TextOffset <20><><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB> <20><><EFBFBD>ڶԺܳ<D4BA><DCB3>ĸ<EFBFBD><C4B8>ʷֶλ<D6B6>ȡ<EFBFBD><C8A1>ÿ<EFBFBD>δ<EFBFBD>ָ<EFBFBD><D6B8>ƫ<EFBFBD>Ƶ<EFBFBD>ַ<EFBFBD><D6B7>ʼ<EFBFBD><CABC>һ<EFBFBD>θ<EFBFBD><CEB8><EFBFBD>
|
||||
* @param <20>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>Buffer Size(LrcRow->MaxLrcLen)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Buffer(LrcRow->LrcText)
|
||||
* <20><><EFBFBD><EFBFBD>Buffer SizeС<65><D0A1>ʵ<EFBFBD>ʵĸ<CAB5><C4B8>ʳ<EFBFBD><CAB3>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6>ضϸ<D8B6><CFB8><EFBFBD>
|
||||
* <20><>ע<EFBFBD>⡿<EFBFBD><E2A1BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ضϵĸ<CFB5><C4B8><EFBFBD>ĩβ<C4A9>ַ<EFBFBD><D6B7><EFBFBD>Ҫ<EFBFBD>жϺ<D0B6><CFBA>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD>
|
||||
* <20><><EFBFBD>ڸýӿ<C3BD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ұ<EFBFBD><D2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͽ϶࣬<CFB6><E0A3AC><EFBFBD>Ժ<EFBFBD><D4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>ɽӿڵ<D3BF><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD>
|
||||
|
||||
* @return <20><><EFBFBD>ʵ<EFBFBD>ʵ<EFBFBD>ʳ<EFBFBD><CAB3>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʣ<EFBFBD><CAA3><EFBFBD><EFBFBD><EFBFBD>-1<><31>
|
||||
* <20><>ע<EFBFBD>⡿<EFBFBD><E2A1BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>ʳ<EFBFBD><CAB3>ȴ<EFBFBD><C8B4>ڸ<EFBFBD><DAB8><EFBFBD>Buffer(LrcRow->LrcText)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(LrcRow->MaxLrcLen)<29><>
|
||||
* <20><EFBFBD>ֵ > LrcRow->MaxLrcLen<65><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ֵ <= LrcRow->MaxLrcLen
|
||||
*/
|
||||
int32_t GetLrcInfo(LRC_ROW* LrcRow, uint32_t SeekTime/*ms*/, uint32_t TextOffset);
|
||||
|
||||
/**
|
||||
* @brief <20><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD>ʽ
|
||||
* @return <20><><EFBFBD>ʵı<CAB5><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
*/
|
||||
TEXT_ENCODE_TYPE GetLrcEncodeType(void);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif//__cplusplus
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Mountain View Silicon Tech. Inc.
|
||||
// Copyright 2012, Mountain View Silicon Tech. Inc., Shanghai, China
|
||||
// All rights reserved.
|
||||
// Filename: lrc.h
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef __LRC_H__
|
||||
#define __LRC_H__
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif//__cplusplus
|
||||
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
typedef enum _TEXT_ENCODE_TYPE
|
||||
{
|
||||
ENCODE_UNKNOWN,
|
||||
ENCODE_ANSI,
|
||||
ENCODE_UTF8,
|
||||
ENCODE_UTF16, // unicode
|
||||
ENCODE_UTF16_BIG,
|
||||
ENCODE_GBK,
|
||||
} TEXT_ENCODE_TYPE;
|
||||
|
||||
typedef struct _LRC_ROW
|
||||
{
|
||||
int32_t StartTime; // <20><>ʼʱ<CABC><CAB1><EFBFBD><EFBFBD>, ms
|
||||
uint32_t Duration; // <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>г<EFBFBD><D0B3><EFBFBD>ʱ<EFBFBD><CAB1>, ms
|
||||
uint8_t* LrcText; // <20><><EFBFBD><EFBFBD>ָ<EFBFBD>룬<EFBFBD><EBA3AC><EFBFBD>ⲿ<EFBFBD><E2B2BF><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>
|
||||
int16_t MaxLrcLen; // <20><><EFBFBD><EFBFBD>Buffer<65><72><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>С
|
||||
} LRC_ROW;
|
||||
|
||||
#pragma pack()
|
||||
|
||||
/**
|
||||
* @brief <20><><EFBFBD>ļ<EFBFBD>ȫ·<C8AB><C2B7><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>Lrc Parser, <20><>ע<EFBFBD>⡿<EFBFBD><E2A1BF>֧<EFBFBD><D6A7>ͬʱ<CDAC><EFBFBD><F2BFAAB6><EFBFBD>Lrc Parser
|
||||
* @param input CurFolder <20><>ǰ<EFBFBD>ļ<EFBFBD><C4BC>о<EFBFBD><D0BE><EFBFBD>
|
||||
* @param input FileName <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ȫ·<C8AB><C2B7>
|
||||
* @param input FileNameLen <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* @param input ReadBuffer Lrc Parser<65>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4>ռ䣬<D5BC><E4A3AC><EFBFBD>û<EFBFBD><C3BB>ⲿָ<E2B2BF><D6B8><EFBFBD>ڴ<EFBFBD><DAB4>ռ䣬
|
||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪNULL<4C><4C>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD>Parser<65>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>
|
||||
* @param input ReadBufSize Lrc Parser<65><72><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><D5BC>Ĵ<EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><D5BC><EFBFBD><EFBFBD>û<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ReadBuffer != NULL<4C><4C><EFBFBD><EFBFBD>
|
||||
* <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD> >= 128<32><38><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><D5BC><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>䣬<EFBFBD><E4A3AC>ֵ<EFBFBD><D6B5><EFBFBD>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD> >= 128<32><38>ֵ<EFBFBD>⣬
|
||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0<CEAA><30><EFBFBD><EFBFBD>ʾLrc Parser<65>Լ<EFBFBD>Ĭ<EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD>512Bytes<65>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD>ռ<EFBFBD>
|
||||
* @return Success - TRUE, Fail - FALSE
|
||||
*/
|
||||
bool OpenLrcByFileName(FOLDER* CurFolder, uint8_t* FileName, uint32_t FileNameLen,
|
||||
uint8_t* ReadBuffer, uint32_t ReadBufSize);
|
||||
|
||||
/**
|
||||
* @brief <20><><EFBFBD>ļ<EFBFBD>ID<49>ų<EFBFBD>ʼ<EFBFBD><CABC>Lrc Parser, <20><>ע<EFBFBD>⡿<EFBFBD><E2A1BF>֧<EFBFBD><D6A7>ͬʱ<CDAC><EFBFBD><F2BFAAB6><EFBFBD>Lrc Parser
|
||||
* @param input CurFolder <20><>ǰ<EFBFBD>ļ<EFBFBD><C4BC>о<EFBFBD><D0BE><EFBFBD>
|
||||
* @param input FileId <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ID<49><44><EFBFBD><EFBFBD>CurFolder != NULLʱ<4C><CAB1>ʾȫ<CABE><C8AB>ID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ID
|
||||
* @param input ReadBuffer Lrc Parser<65>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4>ռ䣬<D5BC><E4A3AC><EFBFBD>û<EFBFBD><C3BB>ⲿָ<E2B2BF><D6B8><EFBFBD>ڴ<EFBFBD><DAB4>ռ䣬
|
||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪNULL<4C><4C>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD>Parser<65>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>
|
||||
* @param input ReadBufSize Lrc Parser<65><72><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><D5BC>Ĵ<EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><D5BC><EFBFBD><EFBFBD>û<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ReadBuffer != NULL<4C><4C><EFBFBD><EFBFBD>
|
||||
* <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD> >= 128<32><38><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><D5BC><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>䣬<EFBFBD><E4A3AC>ֵ<EFBFBD><D6B5><EFBFBD>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD> >= 128<32><38>ֵ<EFBFBD>⣬
|
||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0<CEAA><30><EFBFBD><EFBFBD>ʾLrc Parser<65>Լ<EFBFBD>Ĭ<EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD>512Bytes<65>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD>ռ<EFBFBD>
|
||||
* @return Success - TRUE, Fail - FALSE
|
||||
*/
|
||||
bool OpenLrcByFileId(FOLDER* CurFolder, uint32_t FileId,
|
||||
uint8_t* ReadBuffer, uint32_t ReadBufSize);
|
||||
|
||||
/**
|
||||
* @brief <20>ر<EFBFBD>Lrc Parser
|
||||
* @return Success - TRUE, Fail - FALSE
|
||||
*/
|
||||
bool CloseLrcFile(void);
|
||||
|
||||
/**
|
||||
* @brief <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD>и<EFBFBD><D0B8>ʵ<EFBFBD>ʵ<EFBFBD>ʳ<EFBFBD><CAB3>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD> -1
|
||||
* @param input SeekTime <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
||||
* @param <20><><EFBFBD>û<EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD>ö<EFBFBD>̬<EFBFBD>ڴ<EFBFBD><DAB4>ķ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>ø<EFBFBD><C3B8><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD>GetLrcInfo<66><6F><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0>
|
||||
* <20>ȵ<EFBFBD><C8B5>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4>֪<EFBFBD><D6AA><EFBFBD>ض<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8>ʳ<EFBFBD><CAB3>ȣ<EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ棬
|
||||
* <20><>ΪGetLrcInfo<66><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* @return <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ĸ<EFBFBD><C4B8>ʳ<EFBFBD><CAB3>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʣ<EFBFBD><CAA3><EFBFBD>-1
|
||||
*/
|
||||
int32_t GetLrcTextLength(uint32_t SeekTime);
|
||||
|
||||
/**
|
||||
* @brief <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>Ҫ<EFBFBD>и<EFBFBD><D0B8><EFBFBD><EFBFBD><EFBFBD>ʼʱ<CABC>䣬<EFBFBD><E4A3AC><EFBFBD><EFBFBD>ʱ<EFBFBD>䣬<EFBFBD><E4A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* @param input SeekTime <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
||||
* @param input TextOffset <20><><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB> <20><><EFBFBD>ڶԺܳ<D4BA><DCB3>ĸ<EFBFBD><C4B8>ʷֶλ<D6B6>ȡ<EFBFBD><C8A1>ÿ<EFBFBD>δ<EFBFBD>ָ<EFBFBD><D6B8>ƫ<EFBFBD>Ƶ<EFBFBD>ַ<EFBFBD><D6B7>ʼ<EFBFBD><CABC>һ<EFBFBD>θ<EFBFBD><CEB8><EFBFBD>
|
||||
* @param <20>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>Buffer Size(LrcRow->MaxLrcLen)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Buffer(LrcRow->LrcText)
|
||||
* <20><><EFBFBD><EFBFBD>Buffer SizeС<65><D0A1>ʵ<EFBFBD>ʵĸ<CAB5><C4B8>ʳ<EFBFBD><CAB3>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6>ضϸ<D8B6><CFB8><EFBFBD>
|
||||
* <20><>ע<EFBFBD>⡿<EFBFBD><E2A1BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ضϵĸ<CFB5><C4B8><EFBFBD>ĩβ<C4A9>ַ<EFBFBD><D6B7><EFBFBD>Ҫ<EFBFBD>жϺ<D0B6><CFBA>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD>
|
||||
* <20><><EFBFBD>ڸýӿ<C3BD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ұ<EFBFBD><D2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͽ϶࣬<CFB6><E0A3AC><EFBFBD>Ժ<EFBFBD><D4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>ɽӿڵ<D3BF><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD>
|
||||
|
||||
* @return <20><><EFBFBD>ʵ<EFBFBD>ʵ<EFBFBD>ʳ<EFBFBD><CAB3>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʣ<EFBFBD><CAA3><EFBFBD><EFBFBD><EFBFBD>-1<><31>
|
||||
* <20><>ע<EFBFBD>⡿<EFBFBD><E2A1BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>ʳ<EFBFBD><CAB3>ȴ<EFBFBD><C8B4>ڸ<EFBFBD><DAB8><EFBFBD>Buffer(LrcRow->LrcText)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(LrcRow->MaxLrcLen)<29><>
|
||||
* <20><EFBFBD>ֵ > LrcRow->MaxLrcLen<65><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ֵ <= LrcRow->MaxLrcLen
|
||||
*/
|
||||
int32_t GetLrcInfo(LRC_ROW* LrcRow, uint32_t SeekTime/*ms*/, uint32_t TextOffset);
|
||||
|
||||
/**
|
||||
* @brief <20><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD>ʽ
|
||||
* @return <20><><EFBFBD>ʵı<CAB5><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
*/
|
||||
TEXT_ENCODE_TYPE GetLrcEncodeType(void);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif//__cplusplus
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user