现在MP3文件很多都内嵌了歌词和封面,但是需要解析出来,然后供使用。
库功能主要说明:
//主要功能说明
//1、提供带嵌入的mp3文件,然后解析
lrcc = yang.mp3tag(filePath)
//2、获取歌词文件
lrcc.getLyrics()
//3、根据播放时间取当前应该显示的歌词,以下三种方式均可
lrcc.getLrcBytime("56.555")
lrcc.getLrcBytime(56.555)
lrcc.getLrcBytime("02:56.555")
//4、如果没有嵌入歌词,提供取当前时间歌词方法
lrcc = yang.mp3tag()
lrcc.setLrc(提供lrc文本);
lrcc.getLrcBytime(56.555)
//结合win.util.lyric库,就可以实现酷酷的歌词显示了
先上图
简单带窗口的代码:
//范例
import win.ui;
/*DSG{{*/
var winform = win.form(text="aardio form";right=1225;bottom=522;acceptfiles=1)
winform.add(
button={cls="button";text="给定时间取歌词";left=285;top=467;right=461;bottom=512;z=3};
edit={cls="edit";text="56.665";left=78;top=473;right=243;bottom=501;align="center";edge=1;z=4};
plus={cls="plus";left=24;top=27;right=464;bottom=453;edge=1;z=1};
richedit={cls="richedit";text="RichEdit";left=536;top=24;right=1148;bottom=509;edge=1;multiline=1;vscroll=1;z=2}
)
/*}}*/
import yang.mp3tag;
var filePath = "诺言(郭有才版) - 郭有才.mp3";
lrcc = yang.mp3tag(filePath)
winform.onDropFiles = function(files){
lrcc.setFile(files[1]); //设置拖拽文件
winform.richedit.text = lrcc.getLyrics();
winform.plus.setBackground(lrcc.getPicture());
}
winform.richedit.text = lrcc.getLyrics();
winform.plus.setBackground(lrcc.getPicture());
winform.button.oncommand = function(id,event){
// 随机个时间
var n = math.random(0,200000);
winform.edit.text = tostring(n/1000);
//lrcc.setLrc(winform.richedit.text); //如果没有内嵌歌词,这里可以直接给定lrctxt的值,比如从lrc文件加载的文本内容,加载后依然可以调用getLrcBytime
..console.dump(lrcc.getLrcBytime(winform.edit.text))
}
winform.show();
win.loopMessage();
return winform;
附件是完整的库和范例工程