Ejemplo n.º 1
0
	/**
	 * 读取某个指定的歌词文件,这个构造函数一般用于 拖放歌词文件到歌词窗口时调用的,拖放以后,两个自动关联
	 * 
	 * @param file
	 *            歌词文件
	 * @param info
	 *            歌曲信息
	 */
	public Lyric(File file, PlayListItem info) {
		System.out.println(" Lyric file" + file);
		this.offset = info.getOffset();
		this.file = file;
		this.info = info;
		init(file);
		initDone = true;
	}
Ejemplo n.º 2
0
	/**
	 * 用ID3V1标签的字节和歌名来初始化歌词 歌词将自动在本地或者网络上搜索相关的歌词并建立关联
	 * 本地搜索将硬编码为user.home文件夹下面的Lyrics文件夹 以后改为可以手动设置.
	 * 
	 * @param songName
	 *            歌名
	 * @param data
	 *            ID3V1的数据
	 */
	public Lyric(final PlayListItem info) {
		this.offset = info.getOffset();
		this.info = info;
		// this.during = info.getDuration();
		this.file = info.getLyricFile();
		log.info("传进来的歌名是:" + info.toString());
		// 只要有关联好了的,就不用搜索了直接用就是了
		if (file != null && file.exists()) {
			log.log(Level.INFO, "不用找了,直接关联到的歌词是:" + file);
			init(file);
			initDone = true;
			return;
		} else {
			// 否则就起一个线程去找了,先是本地找,然后再是网络上找
			new Thread() {

				public void run() {
					doInit(info);
					initDone = true;
				}
			}.start();
		}

	}
Ejemplo n.º 3
0
	/**
	 * 根据歌词内容和播放项构造一个 歌词对象
	 * 
	 * @param lyric
	 *            歌词内容
	 * @param info
	 *            播放项
	 */
	public Lyric(String lyric, PlayListItem info) {
		this.offset = info.getOffset();
		this.info = info;
		this.init(lyric);
		initDone = true;
	}