package com.konka.music.lrc; import java.io.File; import java.io.IOException; import java.util.List; import com.konka.music.lrc.LrcDownLoadHelper.ILRCDownLoadCallback; import com.konka.music.pojo.MusicInfo; public class LrcLoader { public static final String TAG = LrcLoader.class.getSimpleName(); static LrcDownLoadHelper mLrcDownLoadHelper; public static void init() { mLrcDownLoadHelper = new LrcDownLoadHelper(); mLrcDownLoadHelper.init(); } public static void displayLrc(MusicInfo musicInfo, LyricView mLyricView) { if (musicInfo == null) { throw new IllegalArgumentException("MusicInfo cannot be empty"); } displayLrc(musicInfo.getTitle(), musicInfo.getArtist(), mLyricView); } public static void displayLrc(String title, String artist, LyricView mLyricView) { String lrcPath = MusicUtils.getLyricFile(title, artist); if (lrcPath != null) {// 肯定可以进去 File f = new File(lrcPath); if (f.exists()) { displayLrcFromSD(title, artist, mLyricView); } else { displayLrcFromNet(title, artist, mLyricView); } } } public static void displayLrcFromSD(String title, String artist, LyricView mLyricView) { String lrcPath = MusicUtils.getLyricFile(title, artist); List<LyricObject> lyricObjects = null; try { lyricObjects = ParserLrc.parserFile(lrcPath); } catch (IOException e) { e.printStackTrace(); } if (lyricObjects != null) { mLyricView.setLyricObjects(lyricObjects); mLyricView.postInvalidate(); } } public static void displayLrcFromNet(String title, String artist, final LyricView mLyricView) { mLrcDownLoadHelper.syncDownLoadLRC(title, artist, new ILRCDownLoadCallback() { @Override public void lrcDownLoadComplete(boolean isSuccess, String song, String artist) { if (isSuccess) { displayLrcFromSD(song, artist, mLyricView); } } }); } }