Android平台音乐播放器说明书

基于Android平台的手机音乐播放器的设计与实现

sendBroadcast(i);// 发送广播

} }); 2. 上一曲

// 上一首

previousbtn.setOnClickListener(new OnClickListener() { public void onClick(View v) {

Intent i = new Intent(Const.MUSIC_CONTROL);

int cmd = Const.CMD_PREV;// 发送前一首的命令 i.putExtra(\sendBroadcast(i);

} });

3. 下一曲

// 下一首键事件监听器

nextBtn.setOnClickListener(new OnClickListener() { public void onClick(View v) {

Intent i = new Intent(Const.MUSIC_CONTROL); int cmd = Const.CMD_NEXT; i.putExtra(\ sendBroadcast(i); } });

这样播放器的基本功能就已经被实现了,当然对此界面还有很多小细节的设计,在这里就拿代码了,界面的代码会附在后面的附录上。

5.3 播放列表的设计

对于播放列表的设计,我采用的先布置item形式布局,然后再设置其中一个item布局这样整个列表就能实现了。下面我们就先为播放列表布局(以item形式布局)。代码如下:

默认播放列表的图标。 自定义播放列表的图标。

- 32 -

默认播放列表的名字。 自定义播放列表的名字。

为item做布局

为其简单的布置属性会得到如图5-14的效果。

图5-14 歌曲列表的简单布局

5.3.1 默认播放列表设计

现在我们为每个item布局,因为每个item将会显示一条音乐信息,我需要在歌曲列表上也能显示每首歌的基本信息,如歌曲的名字、歌手的名字、歌曲的时间长度等。所以也要为每个item进行布局来显示歌曲的基本信息。布局的简单代码如下:

- 33 -

基于Android平台的手机音乐播放器的设计与实现

歌曲的名字 歌曲的时长

专辑名称 歌手名字

简单布局以后会得到如图5-15的效果。

图5-15 每个item的布局

在得到初步的布局以后,我们就可以再不举例做细致的编写,可以让界面变得更加美观,精致。

在Android里面,有一个视图叫ListView,其特点是一个有BaseAdapter的属性,从下到下,或从左到右的显示方式。系统默认的方式每一行只显示一个TextView,本播放列表实现了自定义的方式,刚ListView的每一行显示一个音乐图片和一个歌曲名字。我们定义一个类MusicAdapter 继承了BaseAdapter,然后通过算法对这个适配器进行扩展,扩展成为第一行能显示一张图片和一个歌曲名字。由于BaseAdapter是一个抽象类,我们需要实现里面的抽象方法getView()。该方法返回一个View,即视图。视图可以显示在Activity上,所以就可以看到我们想要的歌曲列表界面。

ListView同样有一个监听器 new onItemClickListener(){

@Override

- 34 -

public void onItemClick(AdapterView arg0, View arg1, int arg2,long arg3) {}}

我们只要实现这个方法,就可以监听鼠标的点击事件,当鼠标点击到每一行时,可以通过ListView.getItemAtPositon(int position)得到该行上的信息。这样就可以通过Intent将数据传入到其它的Activity。本程序的思路是当鼠标点击一行,会跳转到另一个Activity里面,这个Activity和歌曲列表类似,也是一个ListView,该界面将在下一节介绍。

歌曲列表是从播放主界面跳转过来的,能跳到该歌曲列表是前提是数据有歌曲列表的存在。因为每次歌曲列表显示时会查询数据库中的歌曲列表。如果不存在,则点击mune键,然后会有提示,会即时更新sdcard里的歌曲。如图5-16。

图5-16 刷新媒体库中的音乐文件

5.3.2 自定义播放列表设计

自定义播放列表的设计与默认列表的设计差不多,将本地音乐中的音乐文件有选择性的添加的自定义播放列表,好处是直接播放自定义中喜欢的音乐,界面与默认列表的设计完全一样,这里就不再多说了。

5.4 其他功能的设计

主菜单是用户可以去对音乐文件进行管理,对音乐文件管理也需要把音乐文件以列表的形式展示出来,在以下几个功能都是需要音乐列表,每个Activity(界面)都是用的

- 35 -

基于Android平台的手机音乐播放器的设计与实现

之前用的item布局的,在以下界面的布局就不多说了,跟前面的一样。主菜单功能主要可分为以下四个功能。 5.4.1 本地音乐

本地音乐是列出手机sdcard里的音乐文件。解析sdcard中.mp3格式的文件,歌曲的名字、歌手名字、时长、专辑名称等,在本Activity中也是以Item形式展现出来,通过添加系统菜单,来刷新本地音乐,如果本地音乐有改动,添加了音乐、删除了音乐,都可通过点击menu菜单,选择刷新就可及时获得媒体库中的音乐文件,当长按某一个歌曲的时候,应该实现本地音乐删除、添加到音乐收藏、播放、添加到自定义的播放列表等操作,具体的实现是通过监听器实现的,具体代码如下:

private void addListener() {

mlv.setOnCreateContextMenuListener(new OnCreateContextMenuListener() { @Override

public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {

menu.add(0, MENU_DELETE, 1, \删除音乐\menu.add(0, MENU_ADDGROUP, 1, \音乐收藏\menu.add(1, MENU_PLAY, 1, \播放\

menu.add(1, MENU_ADD_TO_PLAYLIST, 2, \添加到播放列表\menu.setHeaderIcon(android.R.drawable.ic_dialog_info); menu.setHeaderTitle(\操作\

} }); }

最后是通过toast的方法,对以操作展示给用户以方便用户知晓刚才的操作。添加的系统菜单如图5-17。

图5-17 对本地音乐操作的界面

- 36 -

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4