没有合适的资源?快使用搜索试试~ 我知道了~
Android MP3播放器 (简单练习版)
3星 · 超过75%的资源 需积分: 41 22 下载量 48 浏览量
2012-10-27
12:17:39
上传
评论
收藏 454KB DOC 举报
温馨提示
试读
42页
这个简单版MP3播放器的主要基本功能有: 1、 读取并保存SD卡所有的MP3文件和LRC歌词文件,解析LRC文件读取歌词内容; 2、 在歌曲列表中显示歌曲名字,歌手名字,歌手头像; 3、 歌手的头像是我自己网上下载的几十位比较出名的歌手头像; 4、 在播放页面,最上面一行滚动文字显示上一首、正在播放、下一首的歌曲名字; 5、 中间显示歌手的放大头像; 6、 三行同步歌词显示,中间那句红色的是正在唱的歌词; 7、 SeekBar显示播放进度,可以手动调节SeekBar实现播放的快进/快退功能; 8、 同时显示歌曲播放当前时间、总时间长度、当前播放歌曲数和列表中歌曲总数; 9、 最下面的是上一首、开始/暂停、下一首按钮控制
资源推荐
资源详情
资源评论
Android_MP3 播放器(初学简单版)
——乐拐
这是我学习 Android 以来的第二个程序——MP3 播放器(简
单版),我的第一个程序是比较实用的通讯录(文档地址是:
http://wenku.baidu.com/view/d013f64fc850ad02de8041bd.html)
下面是两张播放器效果截图:
这个简单版 MP3 播放器的主要基本功能有:
1、 读取并保存 SD 卡所有的 MP3 文件和 LRC 歌词文件,解析 LRC 文件读取歌词内容;
2、 在歌曲列表中显示歌曲名字,歌手名字,歌手头像;
3、 歌手的头像是我自己网上下载的几十位比较出名的歌手头像;
4、 在播放页面,最上面一行滚动文字显示上一首、正在播放、下一首的歌曲名字;
5、 中间显示歌手的放大头像;
6、 三行同步歌词显示,中间那句红色的是正在唱的歌词;
7、 SeekBar 显示播放进度,可以手动调节 SeekBar 实现播放的快进/快退功能;
8、 同时显示歌曲播放当前时间、总时间长度、当前播放歌曲数和列表中歌曲总数;
9、 最下面的是上一首、开始/暂停、下一首按钮控制
代码如下:
为了方便起见,文件截图如下:
==================================================================================================
====================================================================
package activity.yxarm;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import activity.yxarm.R;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
//=====================自定义适配器需要继承BaseAdapter基础适配器的类===========================
public class ListViewAdapter extends BaseAdapter {
private Context context; //上下文
private LayoutInflater mInflater; //布局过滤
private List<Map<String, Object>> listItem = new ArrayList<Map<String, Object>>(); //
需要显示的控件键值对数组
//构造函数,接收传进来的参数
public ListViewAdapter(Context context , List<Map<String, Object>>listItem) {
this.mInflater = LayoutInflater.from(context);
this.listItem = listItem;
this.context = context;
}
//声明列表中每行(每项)的所有控件
public final class viewOfItem {
ImageView itemFrontImage ;
TextView itemSongNameText;
TextView itemSingerNameText;
ImageView itemSingerPhoto;
}
public int getCount() {
return listItem.size(); //返回键值对数组的长度(即数据的多少,一行就是1,2行就是2)
}
public Object getItem(int position) {
return null;
}
public long getItemId(int position) {
return 0;
}
public View getView(int position, View convertView, ViewGroup parent) {
viewOfItem item = null; //声明列表中每项的所有控件
if (convertView == null) { //缓冲为空时
item = new viewOfItem(); //得到列表中所有的控件
convertView = mInflater.inflate(R.layout.list_item, null); //布局过滤
//通过ID实例化列表中各个控件
item.itemFrontImage = (ImageView)
convertView.findViewById(R.id.itemFrontImage);
item.itemSongNameText = (TextView)
convertView.findViewById(R.id.itemSongNameText);
item.itemSingerNameText = (TextView)
convertView.findViewById(R.id.itemSingerNameText);
item.itemSingerPhoto = (ImageView)
convertView.findViewById(R.id.itemSingerPhoto);
convertView.setTag(item); // setTag(Onbect)表示给View添加一个格外的数据
} else {
item = (viewOfItem)convertView.getTag();
}
//设置列表中不同行(项)中需要设置不同的图片、文字等得控件(如第一行显示文字刘俊落,而第二行需要显
示伍文)
item.itemFrontImage.setBackgroundResource((Integer)listItem.get(position).get("itemFrontImag
e"));
item.itemSongNameText.setText((String)listItem.get(position).get("songName"));
item.itemSingerNameText.setText((String)listItem.get(position).get("singerName"));
if((Integer)listItem.get(position).get("singerPhoto") == 0) {
item.itemSingerPhoto.setBackgroundResource(R.drawable.music);
} else {
item.itemSingerPhoto.setBackgroundResource((Integer)listItem.get(position).get("singerPhoto"
));
}
return convertView;
}
}
=======================================================================================
package activity.yxarm;
import java.io.File;
import service_playercontrol.yxarm.PlayService;
import service_playercontrol.yxarm.PlayerControl;
import lrc.yxarm.LrcParse;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;
import android.widget.SeekBar;
import android.widget.TextView;
import android.widget.SeekBar.OnSeekBarChangeListener;
public class PlayingActivity extends Activity {
//定义按钮、拖动条、文本显示三个控件
public static ImageButton start_btn = null;
public static ImageButton nextMusic_btn = null;
public static ImageButton backMusic_btn = null;
public static SeekBar seekBar = null;
public static TextView timetextview = null;
剩余41页未读,继续阅读
资源评论
- li___xing02013-10-04只有文档,无项目,难以学习
- jo_nes272014-06-09用倒是可以用,不过功能过于简单,二次开发的工作量会比较大
- chq15397573142013-12-09只有文档,无项目,难以学习
assur_落拐
- 粉丝: 1
- 资源: 17
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功