时间转换为毫秒数

day_moon 2016-10-31 01:38:50
lrc文件的关键歌词如下:

[00:01.00]无与伦比
[00:02.75]
[00:03.56]夜曲
[00:11.50]
...
[02:34.35]描绘后悔莫及的那爱情
[03:43.15]
[00:-10.0]周杰伦 - 第六张专辑:《十一月的萧邦》
[00:-05.0]2005年11月01日


解析歌词的类(关键代码):
[code=html]public String readLRC(String path) {
//定义一个StringBuilder对象,用来存放歌词内容
StringBuilder stringBuilder = new StringBuilder();
File f = new File(path.replace(".mp3", ".lrc"));

try {
//创建一个文件输入流对象
FileInputStream fis = new FileInputStream(f);
InputStreamReader isr = new InputStreamReader(fis, "utf-8");
BufferedReader br = new BufferedReader(isr);
String s = "";
while ((s = br.readLine()) != null) {
//替换字符
s = s.replace("[", "");
s = s.replace("]", "@");

//分离“@”字符
String splitLrcData[] = s.split("@");
if (splitLrcData.length > 1) {
mLrcContent.setLrcStr(splitLrcData[1]);
//处理歌词取得歌曲的时间
int lrcTime = time2Str(splitLrcData[0]);
mLrcContent.setLrcTime(lrcTime);
//添加进列表数组
lrcList.add(mLrcContent);
//新创建歌词内容对象
mLrcContent = new LrcContent();
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
stringBuilder.append("木有歌词文件,赶紧去下载!...");
} catch (IOException e) {
e.printStackTrace();
stringBuilder.append("木有读取到歌词哦!");
}
return stringBuilder.toString();
}
[/code]

[code=html]public int time2Str(String timeStr) {
timeStr = timeStr.replace(":", ".");
timeStr = timeStr.replace(".", "@");
String timeData[] = timeStr.split("@"); //将时间分隔成字符串数组
Log.e("timeStr分割后的值是:",timeStr.toString());

//分离出分、秒并转换为整型
int minute = Integer.parseInt(timeData[0]);
int second = Integer.parseInt(timeData[1]);
int millisecond = Integer.parseInt(timeData[2]);

//计算上一行与下一行的时间转换为毫秒数
int currentTime = (minute * 60 + second) * 1000 + millisecond * 10;
return currentTime;
}
[/code]

控制台输出:

timeStr分割后的值是:: 00@01@00
timeStr分割后的值是:: 00@03@56
...
timeStr分割后的值是:: 00@-05@0
timeStr分割后的值是:: @70
AndroidRuntime: FATAL EXCEPTION: Thread-10124
int minute = Integer.parseInt(timeData[0]);这句报错

问题:怎样计算才能转为int 型和返回 上一行与下一行的时间转换为毫秒数?
大神帮小弟看看,修改修改。



...全文
292 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
小小亠星辰 2016-10-31
  • 打赏
  • 举报
回复
有一个专门用来解析歌词的依赖
day_moon 2016-10-31
  • 打赏
  • 举报
回复
我就是拷贝你的例子来做的大神
Wei_Leng 2016-10-31
  • 打赏
  • 举报
回复
应该是歌词路径里面没有包含(":", ".")对应的符号,没有办法转换,你可以试试我的DEMO,是可以读取歌词的

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧