package cn.qylk.lrc;
import cn.qylk.myview.LrcPackage;
import cn.qylk.utils.FileHelper;
/**
* 修改歌词
*
* @author qylk2012 <BR>
* all rights resolved
*
*/
public class ModifyLyric {
private int offset = 0;
/**
* 将lrclist重新生成Lrc歌词格式
*/
private StringBuilder lrcParse(LrcPackage pac) {
int sum = pac.list.size();// 条数
StringBuilder sb = new StringBuilder();
for (int i = 0; i < sum; i++) {// 逐条处理
int begintime = pac.list.get(i).beginTime + offset;
if (begintime < 0)
continue;
int min = begintime / 60000;// 分
int sec = (begintime % 60000) / 1000;// 秒
int ms = (begintime % 1000) / 10;// 毫秒(百进制)
// 时间标签
sb.append('[').append('0').append(Integer.toString(min))
.append(':').append(Integer.toString(sec)).append('.')
.append(Integer.toString(ms)).append(']')
.append(pac.list.get(i).lrcBody).append("\n");// 歌词
}
return sb;
}
/**
* 开始修改并写回SD卡
*/
public void ModifyandSave(LrcPackage pac) {
new FileHelper().WriteFile(lrcParse(pac).toString(), pac.path,"GB2312");
}
/**
* 设置偏移量
*
* @param offset
* 可正可负(ms)
*/
public ModifyLyric SetOffset(int offset) {
this.offset = offset;
return this;
}
}