欢迎光临
我们一直在努力

酷狗歌词Krc批量转换工具Lrc 附转换编码DLL

经过多天的研究,结合网上一大牛写的C#程序,用Vc++编写一个自己的酷狗歌词转换工具。

程序可以很方便地将酷狗的Krc文件转换为Mp3等播放器vps云服务器用的Lrc文件。

最重要的是,我已经将解码的函数封装在DLL中,出于方便他人使用的原则,内部函数所有的操作都是在内存中进行,通过它,你可以很方便、灵活地地构建自己的解码程序。

1、应用程序篇

界面说明:

下载地址:http://pan.baidu.com/share/link?shareid=506529402&uk=3892350300

2、DLL篇

封装后的DLL公开了以下三个函数,每个函数都有具体的说明,本文程序就是由此DLL编写后打包成为一个exe而成的,可放心使用。(仅用于研究和学习)

/* *此函数将UTF8数据转换为ANSI数据 *PCHAR& pBuf指向输入缓冲区,编码转换后会重写此区域 *int iLen输入缓冲区有效数据长度 *返回值转换后的编码在pBuf中的大小 */int Utf8ToAnsi(PCHAR& pBuf,int iLen);/* *此函数将加密的Krc数据转换为解密的Krc数据(ANSI编码的) *PCHAR pBufKrc指向原始文件在内存中的地址(即先要加载到内存中) *long iLenKrc内存中的长度 *PCHAR& pBufOut输出缓冲区的指针 *long& iLenOut输出缓冲区的长度,转换成功后的值为实际转换后的长度 */void KrcDecodeAnsi(PCHAR& pBufKrc,long iLenKrc,PCHAR& pBufOut,long& iLenOut);/* *此函数用于将解码后的Krc文件内容整理为Lrc所需要的格式 * PCHAR& pAnsiAnsi编码的Krc内容 *long iLenAnsi有效长度 *PCHAR& pBufOutLrc的输出缓存区 *long& iBufLen输出数据的长度 */void KrcMakeLrc(PCHAR& pAnsi,long iLenAnsi,PCHAR& pBufOut,long& iBufLen);
DLL下载地址:http://pan.baidu.com/share/link?shareid=706126617&uk=3892350300

3、使用范例:

FILE* pf = fopen(pFilepath,”rb”);if (pf==NULL){AfxMessageBox(“指定文件不存在”);return;}long iSize = 0;fseek(pf,0,SEEK_END);iSize = ftell(pf);fseek(pf,0,SEEK_SET);PCHAR pBufOld = new CHAR[iSize];fread(pBufOld,1,iSize,pf);//DLL 处理KrcDecodeAnsi(pBufOld,iSize,pBuf,iLen); //得到Krc解密后数据 unsigned long ?iLenLrc = 10*1024; PCHAR pBufLrc = new CHAR[iLenLrc]; KrcMakeLrc(pBufOld,iSize,pBufLrc,iLenLrc); //将处理后的数据pBufLrc写到文件中,其有效数据长度为iLenLrc delete[] pBufOld; fclose(pf);

谢谢翻看。

2013年8月11日2:05:20 ? ? ? ? ? ? ? BBDXF

40811213

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。