admin管理员组

文章数量:1605609

Android 音乐播放器实现歌词显示

LrcHandle.java:

package com.example.welcome;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.InputStreamReader;

import java.util.ArrayList;

import java.util.List;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

/***

* 获取时间以及对应的歌词

*

* @author chao

*

*/

public class LrcHandle {

private List mWords = new ArrayList();

private List mTimeList = new ArrayList();

// 处理歌词文件

public void readLRC(String path) {

File file = new File(path);

try {

FileInputStream fileInputStream = new FileInputStream(file);

InputStreamReader inputStreamReader = new InputStreamReader(

fileInputStream, "GBK");

BufferedReader bufferedReader = new BufferedReader(

inputStreamReader);

String s = "";

while ((s = bufferedReader.readLine()) != null) {

addTimeToList(s);

if ((s.indexOf("[ar:") != -1) || (s.indexOf("[ti:") != -1)

|| (s.indexOf("[by:") != -1)) {

s = s.substring(s.indexOf(":") + 1, s.indexOf("]"));

} else {

// ss为时间 [02:12.22]

String ss = s.substring(s.indexOf("["), s.indexOf("]") + 1);

// s为ss时间后的歌词

s = s.replace(ss, "");

}

mWords.add(s);

}

bufferedReader.close();

inputStreamReader.close();

fileInputStream.close();

} catch (FileNotFoundException e) {

e.printStackTrace();

mWords.add("没有歌词文件,赶紧去下载");

} catch (IOException e) {

e.printStackTrace

本文标签: 歌词显示播放器音乐android