- 浏览: 82761 次
- 性别:
- 来自: 广州
最新评论
-
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 3040基本操作的部分,大家都很熟悉了,这里根据个人切身经验,总结了 ... -
android内存溢出的解决方法(转)
2013-02-07 11:23 8241. 当项目中包含大量图片,或者图片过大 方法1:等比例缩 ... -
android中的跨进程通信的实现——远程调用过程和aidl(转)
2013-02-07 19:35 1348android在设计理念上强调组件化,组件之间的依赖性很小。 ... -
在EditText/TextView中插入表情图片、样式、下划线等(转)
2012-08-22 12:01 1605EditText: 通常用于显示文字,但有时候也需要在文字中 ... -
自定义Tab选项卡(转)
2012-08-21 08:44 1507效果: 代码: import android.app. ... -
android设置button透明度(转)
2012-08-18 22:09 1306Button或者ImageButton的背景设为透明或者半透明 ... -
Android中的TabHost(转)
2012-08-17 14:50 2231介绍 有时,我们想在一个window中显示多个视图,这时就需 ... -
Android开发之蓝牙(Bluetooth)操作(二)--修改本机蓝牙设备的可见性,并扫描周围可用的蓝牙设备(转)
2012-08-15 16:54 1474一. 修改本机蓝牙设备的可见性 二. 扫描周围可用的蓝牙设备 ... -
Android开发之蓝牙(Bluetooth)操作(一)--扫描已经配对的蓝牙设备(转)
2012-08-15 16:49 1743一. 什么是蓝牙(Bluetooth)? 1.1 BuleT ... -
ViewPager多页面滑动切换以及动画效果(转)
2012-08-14 16:55 1904一、首先,我们来看一下效果图,这是新浪微博的Tab滑动效果。我 ... -
Android的Handler总结(转)
2012-08-14 14:18 924一、Handler的定义: 主要接受子线程 ... -
AsyncTask的用法(转)
2012-08-14 14:11 903在开发Android应用时必须遵守单线程模型的原则: Andr ... -
Android逐帧动画(转)
2012-08-13 16:46 1793Android有两种动画,一种是tweened animati ... -
android 扫描SD卡与系统文件(转)
2012-08-11 16:12 1350当手机或模拟器开机时,会调用android的MediaScan ... -
android 怎样为多媒体文件生成缩略图(转)
2012-08-10 17:11 12861、Video 对于视频,取第一帧作为缩略图,也就是怎样从fi ... -
TextView 实现自动换行(转)
2012-08-10 16:44 1403package com.liao.intentservice; ... -
android:屏幕自适应(转)
2012-08-10 16:10 1404demo下载: http://www.eoeandroid.c ... -
listview加载性能优化ViewHolder (转)
2012-07-28 15:16 1465在android开发中Listview是一个很重要的组件,它以 ... -
android 应用程序Activity之间数据传递与共享的几种途径(转)
2012-07-19 11:03 15141.基于消息的通信机制 Intent ---boudle , ... -
Android进程间通信--消息机制及IPC机制实现(转)
2012-07-19 10:51 844一、概念及说明 Android ...
相关推荐
在Android开发中,实现自动下载歌词的功能是一项实用的技能,特别是在音乐播放应用中。下面将详细解释如何根据给定的歌名和歌手名从公共网站上下载歌词文件,并解析这些歌词。 首先,我们需要理解基本原理。这个...
当然,歌词不仅仅是显示就完了,作为一个有素质的音乐播放器,我们当然还需要根据歌曲进度自动滚动歌词,并且要支持上下拖动。 项目地址:https://github.com/wangchenyan/lrcview 有问题请提Issues 如果喜欢,欢迎...
这个“android音乐播放器源代码”提供了一个基础的实现,它利用了Service来实现在后台持续播放音乐,并且允许用户自动或手动切换歌曲。此外,它还支持对SD卡上的音乐资源进行扫描,方便用户管理和播放存储在外部存储...
Android 实现歌词自动滚动效果是 Android 开发中的一项重要功能,特别是在音乐播放器应用程序中。通过滚动展示歌词,可以提高用户体验和娱乐性。在本文中,我们将详细介绍 Android 实现歌词自动滚动效果的方法和技术...
本项目"android音乐播放器代码"提供了一个完整的解决方案,包括播放控制、快进、切换歌曲、音乐下载以及歌词显示等功能。下面我们将详细探讨这些关键知识点。 1. **多媒体框架(MediaPlayer)**:Android系统的...
在Android平台上开发一款卡拉OK应用,歌词同步程序是至关重要的组成部分。这个压缩包"Android卡拉OK,歌词同步程序.zip"可能包含了一套完整的解决方案,用于实现Android设备上的歌词显示和实时同步功能。以下是对这...
首页Tab可配置,最多支持五个,包括歌曲、艺术家、专辑、文件夹、播放列表 专辑、艺术家封面自动补全 支持显示本地和在线歌词(网易),可设置歌词搜索的优先级;本地歌词可以自由选择,或者忽略歌词 支持耳机线控操作,...
【Android多米音乐播放器源代码】是一款基于Android平台的音乐播放应用,它不仅具备基本的音乐播放功能,还提供了在线下载和歌词显示等高级特性。深入解析这款源代码,我们可以学习到许多关于Android开发的知识点,...
4.新增了上一首和下一首歌曲切换功能,并且自动播放下一首 5.新增了读取模拟器SD卡的音乐文件,操作简单方便 6.新增了JSON格式文件的解析,显示歌手详细信息 7.新增了歌曲、歌手和我的3个底部导航栏,切换更加流畅 8...
【Android复读机程序源码】是一个基于Android平台的音频播放应用,主要功能是实现音频的重复播放,特别适用于语言学习者进行听力训练。该程序不仅具备基础的播放、暂停、停止等操作,还增加了自动断句和歌词修改功能...
【Android 多媒体框架】 1.1 Android 系统整体架构 1.2 Android 多媒体架构 1.3 OpenCore 介绍 【OpenCore 的代码结构】 2.1 OpenCore 代码结构 ...5.2 自动下载歌词与歌词的解析 【其他】 6.1 提交 BUG
这里我们关注的是“Android源码——天天动听悬浮歌词源码.zip”这个压缩包,它包含了实现类似天天动听音乐应用中悬浮歌词效果的源代码。这个效果通常是指在手机屏幕的任何界面上,一个小型窗口会显示当前播放歌曲的...
在Android平台上开发一款音乐播放器,歌词列表式同步显示功能是一项重要的用户体验提升点。这个功能允许用户在播放音乐的同时,看到歌词随着歌曲进度滚动,增强了听歌的乐趣和沉浸感。以下将详细介绍如何实现这一...
歌词通常会显示在一个滚动条中,随着音乐的播放,歌词会按照时间顺序自动滚动。为了提供良好的用户体验,界面应清晰易读,字体大小适中,背景色和文字色对比明显。此外,用户还应能手动拖动歌词,以便回放或预览特定...
这个文件名暗示了一个完整的Android播放器源代码示例。这可能是为了教学目的而创建的,包含从UI设计到多媒体处理的完整流程。通过研究这个代码,你可以学习到如何处理媒体文件的加载、播放控制、UI交互,以及如何...
【AndroidbfjmfQQyybfq_java_farm4rp_androidui_android_】是一个关于构建Android音乐播放器的项目,其核心是仿照QQ音乐的播放界面设计,旨在提供一个轻量级、美观且功能完善的音乐播放体验。这个开源项目主要使用...
"android-lrc-view-oyp-master"是一个开源项目,专为Android平台设计,用于实现LRC歌词的显示。LRC是一种文本格式,用于存储歌曲的逐行歌词及其对应的时间戳,便于在播放音乐时同步显示歌词。 该项目的核心是`...
eoeAndroid特刊第十五期:Android多媒体,Android 多媒体框架,OpenCore 的代码结构...自动下载歌词与歌词的解析)等的内容.其中包含了可独立编译的android多媒体例程(可播放本地媒体文件和远程媒体文件).tgz实例源码.
本文将详细介绍一个基于Android平台的音乐播放器的毕业设计,旨在提供一个参考实例,展示如何在Android环境下开发一个功能齐全的音乐播放应用。这个设计涵盖了系统分析、设计、实现和测试的全过程,旨在满足用户对...