- 浏览: 79610 次
- 性别:
- 来自: 广州
最新评论
-
Tony_Lee-S:
已经说得很明白了吧?“把list强转成Serializable ...
在android中用 Intent 传递 List类型的数据(转) -
zhiduo5:
Activity与Service之间传递参数的介质这个怎么弄啊 ...
在android中用 Intent 传递 List类型的数据(转) -
mathlove:
很有用的内容
一个Android下的自动下载歌词的代码(转)
1. 原理是用Baidu音乐搜索的连接,拼参数进去读取歌词。
同理也可以一样读取到音乐文件。
代码不是很难,但是网上基本上看不到这种代码,有的也是不能运行的。
所以我就做个好事吧。
2. 搜索歌词文件的代码:
3. 使用搜索的Active的例子
转自:
http://blog.csdn.net/nanjingjiangbiao/article/details/6096376
同理也可以一样读取到音乐文件。
代码不是很难,但是网上基本上看不到这种代码,有的也是不能运行的。
所以我就做个好事吧。
2. 搜索歌词文件的代码:
package com.hyronjs.jiangbiao; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; import android.util.Log; public class SearchLRC { private URL url; public static final String DEFAULT_LOCAL = "GB2312"; StringBuffer sb = new StringBuffer(); /* * 初期化,根据参数取得lrc的地址 */ public SearchLRC(String musicName, String singerName) { // 将空格替换成+号 musicName = musicName.replace(' ', '+'); singerName = singerName.replace(' ', '+'); String strUrl = "http://box.zhangmen.baidu.com/x?op=12&title=" + musicName + "$$" + singerName + "$$$$"; Log.d("test", strUrl); try { url = new URL(strUrl); } catch (Exception e1) { e1.printStackTrace(); } BufferedReader br = null; String s; try { InputStreamReader in = new InputStreamReader(url.openStream()); Log.d("the encode is ", in.getEncoding()); br = new BufferedReader(in); } catch (IOException e1) { Log.d("tag", "br is null"); } try { while ((s = br.readLine()) != null) { sb.append(s + "/r/n"); br.close(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /* * 根据lrc的地址,读取lrc文件流 * 生成歌词的ArryList * 每句歌词是一个String */ public ArrayList fetchLyric() { int begin = 0, end = 0, number = 0;// number=0表示暂无歌词 String strid = ""; begin = sb.indexOf("<lrcid>"); Log.d("test", "sb = " + sb); if (begin != -1) { end = sb.indexOf("</lrcid>", begin); strid = sb.substring(begin + 7, end); number = Integer.parseInt(strid); } String geciURL = "http://box.zhangmen.baidu.com/bdlrc/" + number / 100 + "/" + number + ".lrc"; Log.d("test", "geciURL = " + geciURL); ArrayList gcContent =new ArrayList(); String s = new String(); try { url = new URL(geciURL); } catch (MalformedURLException e2) { e2.printStackTrace(); } BufferedReader br = null; try { br = new BufferedReader(new InputStreamReader(url.openStream(), "GB2312")); } catch (IOException e1) { e1.printStackTrace(); } if (br == null) { System.out.print("stream is null"); } else { try { while ((s = br.readLine()) != null) { // Sentence sentence = new Sentence(s); gcContent.add(s); } br.close(); } catch (IOException e) { e.printStackTrace(); } } return gcContent; } }
3. 使用搜索的Active的例子
package com.hyronjs.jiangbiao; import java.util.ArrayList; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class GetSongWord extends Activity { private TextView mTextView1; /** Called when the activity is first created. */ private DrawLRC mGameView; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Baidu search = new Baidu("love the way you","michael jackson"); SearchLRC search = new SearchLRC("love the way you",""); ArrayList result = search.fetchLyric(); setContentView(R.layout.main); } }
转自:
http://blog.csdn.net/nanjingjiangbiao/article/details/6096376
发表评论
-
SQLite多线程读写实践及常见问题总结(转)
2013-02-07 11:04 2962基本操作的部分,大家都很熟悉了,这里根据个人切身经验,总结了 ... -
android内存溢出的解决方法(转)
2013-02-07 11:23 7611. 当项目中包含大量图片,或者图片过大 方法1:等比例缩 ... -
android中的跨进程通信的实现——远程调用过程和aidl(转)
2013-02-07 19:35 1300android在设计理念上强调组件化,组件之间的依赖性很小。 ... -
在EditText/TextView中插入表情图片、样式、下划线等(转)
2012-08-22 12:01 1561EditText: 通常用于显示文字,但有时候也需要在文字中 ... -
自定义Tab选项卡(转)
2012-08-21 08:44 1452效果: 代码: import android.app. ... -
android设置button透明度(转)
2012-08-18 22:09 1195Button或者ImageButton的背景设为透明或者半透明 ... -
Android中的TabHost(转)
2012-08-17 14:50 2168介绍 有时,我们想在一个window中显示多个视图,这时就需 ... -
Android开发之蓝牙(Bluetooth)操作(二)--修改本机蓝牙设备的可见性,并扫描周围可用的蓝牙设备(转)
2012-08-15 16:54 1348一. 修改本机蓝牙设备的可见性 二. 扫描周围可用的蓝牙设备 ... -
Android开发之蓝牙(Bluetooth)操作(一)--扫描已经配对的蓝牙设备(转)
2012-08-15 16:49 1652一. 什么是蓝牙(Bluetooth)? 1.1 BuleT ... -
ViewPager多页面滑动切换以及动画效果(转)
2012-08-14 16:55 1846一、首先,我们来看一下效果图,这是新浪微博的Tab滑动效果。我 ... -
Android的Handler总结(转)
2012-08-14 14:18 834一、Handler的定义: 主要接受子线程 ... -
AsyncTask的用法(转)
2012-08-14 14:11 863在开发Android应用时必须遵守单线程模型的原则: Andr ... -
Android逐帧动画(转)
2012-08-13 16:46 1747Android有两种动画,一种是tweened animati ... -
android 扫描SD卡与系统文件(转)
2012-08-11 16:12 1270当手机或模拟器开机时,会调用android的MediaScan ... -
android 怎样为多媒体文件生成缩略图(转)
2012-08-10 17:11 12121、Video 对于视频,取第一帧作为缩略图,也就是怎样从fi ... -
TextView 实现自动换行(转)
2012-08-10 16:44 1362package com.liao.intentservice; ... -
android:屏幕自适应(转)
2012-08-10 16:10 1361demo下载: http://www.eoeandroid.c ... -
listview加载性能优化ViewHolder (转)
2012-07-28 15:16 1420在android开发中Listview是一个很重要的组件,它以 ... -
android 应用程序Activity之间数据传递与共享的几种途径(转)
2012-07-19 11:03 14731.基于消息的通信机制 Intent ---boudle , ... -
Android进程间通信--消息机制及IPC机制实现(转)
2012-07-19 10:51 800一、概念及说明 Android ...
相关推荐
可以从公共网站上自动下载合适歌词文件.原理是根据歌名获取相应的歌词文件,通过Url下载
当然,歌词不仅仅是显示就完了,作为一个有素质的音乐播放器,我们当然还需要根据歌曲进度自动滚动歌词,并且要支持上下拖动。 项目地址:https://github.com/wangchenyan/lrcview 有问题请提Issues 如果喜欢,欢迎...
首页Tab可配置,最多支持五个,包括歌曲、艺术家、专辑、文件夹、播放列表 专辑、艺术家封面自动补全 支持显示本地和在线歌词(网易),可设置歌词搜索的优先级;本地歌词可以自由选择,或者忽略歌词 支持耳机线控操作,...
Android多米音乐播放器源代码、可以提供网上下载功能、歌词显示 自动下载
【Android 多媒体框架】 1.1 Android 系统整体架构 1.2 Android 多媒体架构 1.3 OpenCore 介绍 【OpenCore 的代码结构】 2.1 OpenCore 代码结构 ...5.2 自动下载歌词与歌词的解析 【其他】 6.1 提交 BUG
最近在做Android 的MP3播放的项目,要实现歌词的自动滚动,以及同步显示。 lyric的歌词解析主要用yoyoplayer里面的,显示部分参考了这里 ,这里只是模拟MP3歌词的滚动。 先上一下效果图: 滚动实现的代码其实也简单...
eoeAndroid特刊第十五期:Android多媒体,Android 多媒体框架,OpenCore 的代码结构...自动下载歌词与歌词的解析)等的内容.其中包含了可独立编译的android多媒体例程(可播放本地媒体文件和远程媒体文件).tgz实例源码.
此外,还提供了Android多媒体开发技巧、实例教程,包括音乐播放器功能的实现、自动下载歌词与解析等实用内容。无论是初学者还是有经验的开发者,都能在这份资料中找到宝贵的资源和指导,助力在Android多媒体领域的...
Android应用源码技术成熟的隆笛音乐播放器是一款...可以扫描本地歌词,可以摇一摇换歌,可以自动下载歌词。 代码层次分明,大部分方法都加了详细的说明。总体上说这是一个很强大的音乐播放器。(项目采用GBK编码)。
复读机程序,支持自动断句,歌词修改,使用eclipse开发
这是一款比较基础的音乐播放器源码,项目代码量不大,打开软件后会自动扫描歌曲,速度很快,我的手机上有400多首歌曲可以一次性自动扫描添加进歌曲列表。适合做教学演示或者新手自学播放器部分知识,项目中提供了很...
本项目是一款音乐播放器源码,应该说这个播放器太...可以扫描本地歌词,可以摇一摇换歌,可以自动下载歌词。代码层次分明,大部分方法都加了详细的说明。总体上说这是一个很强大的音乐播放器。(项目采用GBK编码)。
歌词显示,自动搜索歌词 夜间模式 定时关闭 更新说明 v 1.0 First Release TODO 在线音乐可以免下载加入我的音乐列表 在线音乐自动缓存 编辑音乐信息 项目公开API 在线音乐:百度音乐 天气数据:高德地图 ...
主要介绍了Android 自定义可拖拽View界面渲染刷新后不会自动回到起始位置的实现代码,非常不错,具有参考借鉴价值,需要的朋友可以参考下
1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合...
功能有:歌曲的播放、暂停、上一首、下一首、进度条的拖动和更新、歌词的显示、歌曲播放模式的切换(如单曲、顺序、随机、全部循环)、字体跑马灯效果、SD卡下的歌曲自动扫描、歌曲时间的显示等等
基于Android平台的百度音乐播放器 1.包含源程序。...自动抓取音乐歌词,并多形式展示 UI简洁美观,打造最lite的音乐播放器 项目我测试过是可以直接运行的,如果帮助到了您 麻烦记得给个好评谢谢啦。
+实现从歌词迷自动下载歌词功能 ###已知bug: +显示歌词的view没有适配不同分辨率,只在1080p上完美显示。(已修改) +歌曲的名称或歌手如果是乱码,会闪退。 +下载下来的歌词如果不是歌词的标准格式,解析歌词时会...
这是一个完整的播放器,除了在线听歌...滑动式欢迎界面,多种皮肤切换,歌词同步,自动扫描MP3等音乐格式,添加到列表,读取专辑图片显示等等,源代码,有详细注解,一看就会明白的适合学习参考,而且界面非常美观!
歌词显示,自动搜索歌词 夜间模式 定时关闭 更新说明 v 1.2.3 新增通知栏播放控制 修复魅族手机扫描不到音乐的问题 修复已知bug v 1.2 修复在线音乐无法加载的问题 修复弱网时播放网络歌曲导致ANR的问题 修复每日...