DevStore首页 > DEV资源 > 源码下载 > 源码详情

Android源码仿天天动听音乐播放器,可联网下载歌词

 
anitbird | 2014-09-25 16:40    浏览量(22791)    评论(99)    收藏(59)
功能分类:影音 支持平台:Android 运行环境:Eclipse
开发语言:Java 开发工具:Eclipse 源码大小:1.94MB
下载源码 6062 人下载

源码简介

Android源码仿天天动听音乐播放器,可联网下载歌词。

源码截图

  • 启动画面
  • 首页
  • 侧边栏
  • 换背景
  • 播放列表
  • 歌词界面
DevStore所有源码来自用户上传分享,版权问题及牵扯到商业纠纷均与DevStore无关。

源码片段

/**
 * 歌词解析
 * @author longdw(longdawei1988@gmail.com)
 *
 */
public class LyricXMLParser {
	private static final String TAG = "LyricXMLParser";

	private final String ELEMENT_COUNT = "count";
	private final String ELEMENT_LRCID = "lrcid";

	public int parseLyricId(InputStream is) throws Exception {
		SAXParserFactory factory = SAXParserFactory.newInstance(); // 取得SAXParserFactory实例
		SAXParser parser = factory.newSAXParser(); // 从factory获取SAXParser实例
		MyHandler handler = new MyHandler(); // 实例化自定义Handler
		parser.parse(is, handler); // 根据自定义Handler规则解析输入流
		is.close();
		return handler.getFirstLyricId();
	}

	class MyHandler extends DefaultHandler {
		private int mSongCount = 0;
		private ArrayList mLyricIds = new ArrayList();
		private StringBuilder mStringBuilder = new StringBuilder();;

		public int getSongCount() {
			return mSongCount;
		}

		// 若解析出多个lyricID,只返回第一个
		public int getFirstLyricId() {
			if (mSongCount == 0) {
				return -1;
			} else {
				return mLyricIds.get(0);
			}
		}

		@Override
		public void startDocument() throws SAXException {
			super.startDocument();
			mLyricIds.clear();
		}

		@Override
		public void endDocument() throws SAXException {
			super.endDocument();
		}

		@Override
		public void startElement(String uri, String localName, String qName,
				Attributes attributes) throws SAXException {
			super.startElement(uri, localName, qName, attributes);
			mStringBuilder.setLength(0); // 将字符长度设置为0 以便重新开始读取元素内的字符节点
		}

		@Override
		public void endElement(String uri, String localName, String qName)
				throws SAXException {
			super.endElement(uri, localName, qName);
			if (localName.equals(ELEMENT_COUNT)) {
				mSongCount = Integer.valueOf(mStringBuilder.toString());
				Log.i(TAG, "解析出的匹配歌曲数目:" + mSongCount);
			}
			if (localName.equals(ELEMENT_LRCID)) {
				Log.i(TAG, "歌词下载id:" + mStringBuilder.toString());
				mLyricIds.add(Integer.valueOf(mStringBuilder.toString()));
			}
		}

		@Override
		public void characters(char[] ch, int start, int length)
				throws SAXException {
			super.characters(ch, start, length);
			mStringBuilder.append(ch, start, length); // 将读取的字符数组追加到builder中
		}
	}
}
  •   赞(17) 赞 +1 赞(17) 已赞
  •   收藏(59) 收藏 +1 已收藏 取消
  •   下载(6062)
评论(99)
beusedto

beusedto 2017-03-30 11:53:38

怎么下载歌词啊 大神求解
回复(0) 赞(0) 赞(1)
郑霖

郑霖 2017-01-10 09:01:43

非常好、要是能够在后台被清除之后还能继续播放就更好了
回复(0) 赞(0) 赞(1)
Hilda

Hilda 2016-12-02 21:49:20

界面挺好的,音乐歌曲怎么弄呀?
回复(0) 赞(0) 赞(1)
chvleslie

chvleslie 2016-09-17 05:15:31

有广告,怎么去除?
回复(0) 赞(0) 赞(1)
agag3344

agag3344 2016-08-12 07:41:18

学习,开发
谢谢
回复(0) 赞(1) 赞(2)
  • 推荐
  • 审核
  • 收录
  • 获取活力值

源码上传作者

  • 32 能力值
  • 16 源码
  • 0 评测
  • 1 资料

热门源码