一個lrc修改器

 
因爲想整理一下Garnet Crow的歌詞,就是在日語歌詞後面加上一些翻譯的句子.比如:
[00:18.64]いち.に.さん.
[00:19.12]
變成
[00:18.64]いち.に.さん.
[00:18.88](一、二、三)
[00:19.12]

不止要一句句粘帖,還要計算前面的時間,上百首歌感覺挺麻煩的。所以就寫了這麼一個程序


使用起來很簡單,就是在左邊的文本域裏粘貼lrc的歌詞,記住沒有右鍵得用ctrl+v;也可以從菜單的文件-->打開...來打開lrc歌詞.不過我是一直從千千靜聽裏複製過來,修改後在複製回去的.在右邊的文本域裏粘貼準備插入的文本.然後在開始轉換之前,將光標放置在左邊文本,準備開始插入的那一行上面,具體看下圖:


然後就可以點轉換了。轉換後效果如圖:


這時可以點保存把lrc保存起來,而我呢,都是ctrl+a,ctrl+c,然後ctrl+v到千千靜聽裏面.


當然了,有問題的話可以點撤銷回到轉換前的狀態。

程序bug很多,只可以保證按步驟做沒問題而已。

程序比較簡單,用了3個類。GUI一個類,一個鏈表,還有一個專門轉換[xx:xx.xx]的。主要思路就是用兩條鏈表分別保存兩個JTextArea每一行的文本。轉換時,就是在第一條鏈表的節點後面依次添加第二條鏈表的節點。唯一的智能就是會自動跳過空行。。。

源碼太長就不貼了。
可以從這裏下載:

簡易lrc修改器.rar

不過有一個功能我覺得挺好用,不過java的api裏沒有,就是返回JTextArea中光標所在的行標。所以自己寫了一個方法。

public static int getCaretRow(JTextArea t)

{ int n=1;

String s=t.getText();

for(int i=0;i<t.getcaretposition();i++)

{

if(s.charat(i)=='/n')

n++

}

return n;

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章