android 音乐播放器 播放列表功能
2011-03-22 19:44
639 查看
package com.tianlai;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.tianlai.music.MusicInfo;
import android.app.ListActivity;
import android.content.ContentResolver;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.MediaStore;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
import android.view.View;
import android.widget.ListView;
import android.widget.SimpleAdapter;
public class Act_LocalStore extends ListActivity {
/** Called when the activity is first created. */
List<MusicInfo> infoList = null;
/**播放列表空格*/
private static String blank="_ ";
@Override
public void onCreate(Bundle savedInstanceState) {
infoList =new ArrayList<MusicInfo>();
super.onCreate(savedInstanceState);
}
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
System.out.println("Act_LocalStore-onStart");
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
System.out.println("Act_LocalStore-onPause");
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
System.out.println("Act_LocalStore-onResume");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(1, 1, 0, R.string.scan_muc);
SubMenu sm_pmodel = menu.addSubMenu(R.string.play_model);
sm_pmodel.add(2, 21, 1, R.string.byorder);
sm_pmodel.add(2, 22, 2, R.string.single_cicle);
sm_pmodel.add(2, 23, 3, R.string.all_cicle);
sm_pmodel.add(2, 24, 4, R.string.byorder);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
if(item.getItemId() ==1){
ContentResolver cr = getContentResolver();
Cursor cur = cr.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null, null, null);
//读取歌曲列表
List<Map<String,Object>>nameList = new ArrayList<Map<String,Object>>();
int i=1;
for(cur.moveToFirst();!cur.isAfterLast();cur.moveToNext()){
cur.getColumnCount();
String tempName = cur.getString(2);
Map<String,Object> map = new HashMap<String,Object>();
map.put("ItemText", i+blank+tempName);
map.put("ItemImage", R.drawable.icon);
map.put("ItemTitle", "");
nameList.add(map);
i++;
//添加到musicInfo
MusicInfo info = new MusicInfo();
info.setName(tempName);
info.setPath(cur.getString(1));
infoList.add(info);
}
//填充歌曲列表
SimpleAdapter adapter = new SimpleAdapter(this,nameList,R.layout.forlist,
new String[] {"ItemImage","ItemTitle", "ItemText"},
new int[] {R.id.ItemImage,R.id.ItemTitle,R.id.ItemText});
setListAdapter(adapter);
}
return super.onMenuItemSelected(featureId, item);
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
//播放音乐
Object item = l.getAdapter().getItem(position);
Map<String,Object> map = (Map<String,Object>)item;
String name = String.valueOf(map.get("ItemText"));
name = name.substring(name.indexOf(blank));
String path = MusicInfo.findMucByName(infoList, name).getPath();
MusicInfo.playMuc(Act_LocalStore.this,path);
}
}
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:id="@+id/RelativeLayout01"
android:layout_width="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:paddingBottom="4dip"
android:paddingLeft="12dip"
android:paddingRight="12dip"
android:paddingTop="5dip"
>
<ImageView
android:layout_alignParentRight="true"
android:layout_width="19dip"
android:layout_height="38dip"
android:id="@+id/ItemImage"
android:paddingTop="0dip"
/>
<TextView
android:layout_height="wrap_content"
android:textSize="0dip"
android:layout_width="fill_parent"
android:id="@+id/ItemTitle"
android:layout_alignBaseline="@id/ItemImage"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="18dip"
android:id="@+id/ItemText"
android:layout_alignBaseline="@id/ItemImage"
/>
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<ListView
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/id_playlist" />
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.tianlai.music.MusicInfo;
import android.app.ListActivity;
import android.content.ContentResolver;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.MediaStore;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
import android.view.View;
import android.widget.ListView;
import android.widget.SimpleAdapter;
public class Act_LocalStore extends ListActivity {
/** Called when the activity is first created. */
List<MusicInfo> infoList = null;
/**播放列表空格*/
private static String blank="_ ";
@Override
public void onCreate(Bundle savedInstanceState) {
infoList =new ArrayList<MusicInfo>();
super.onCreate(savedInstanceState);
}
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
System.out.println("Act_LocalStore-onStart");
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
System.out.println("Act_LocalStore-onPause");
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
System.out.println("Act_LocalStore-onResume");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(1, 1, 0, R.string.scan_muc);
SubMenu sm_pmodel = menu.addSubMenu(R.string.play_model);
sm_pmodel.add(2, 21, 1, R.string.byorder);
sm_pmodel.add(2, 22, 2, R.string.single_cicle);
sm_pmodel.add(2, 23, 3, R.string.all_cicle);
sm_pmodel.add(2, 24, 4, R.string.byorder);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
if(item.getItemId() ==1){
ContentResolver cr = getContentResolver();
Cursor cur = cr.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null, null, null);
//读取歌曲列表
List<Map<String,Object>>nameList = new ArrayList<Map<String,Object>>();
int i=1;
for(cur.moveToFirst();!cur.isAfterLast();cur.moveToNext()){
cur.getColumnCount();
String tempName = cur.getString(2);
Map<String,Object> map = new HashMap<String,Object>();
map.put("ItemText", i+blank+tempName);
map.put("ItemImage", R.drawable.icon);
map.put("ItemTitle", "");
nameList.add(map);
i++;
//添加到musicInfo
MusicInfo info = new MusicInfo();
info.setName(tempName);
info.setPath(cur.getString(1));
infoList.add(info);
}
//填充歌曲列表
SimpleAdapter adapter = new SimpleAdapter(this,nameList,R.layout.forlist,
new String[] {"ItemImage","ItemTitle", "ItemText"},
new int[] {R.id.ItemImage,R.id.ItemTitle,R.id.ItemText});
setListAdapter(adapter);
}
return super.onMenuItemSelected(featureId, item);
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
//播放音乐
Object item = l.getAdapter().getItem(position);
Map<String,Object> map = (Map<String,Object>)item;
String name = String.valueOf(map.get("ItemText"));
name = name.substring(name.indexOf(blank));
String path = MusicInfo.findMucByName(infoList, name).getPath();
MusicInfo.playMuc(Act_LocalStore.this,path);
}
}
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:id="@+id/RelativeLayout01"
android:layout_width="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:paddingBottom="4dip"
android:paddingLeft="12dip"
android:paddingRight="12dip"
android:paddingTop="5dip"
>
<ImageView
android:layout_alignParentRight="true"
android:layout_width="19dip"
android:layout_height="38dip"
android:id="@+id/ItemImage"
android:paddingTop="0dip"
/>
<TextView
android:layout_height="wrap_content"
android:textSize="0dip"
android:layout_width="fill_parent"
android:id="@+id/ItemTitle"
android:layout_alignBaseline="@id/ItemImage"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="18dip"
android:id="@+id/ItemText"
android:layout_alignBaseline="@id/ItemImage"
/>
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<ListView
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/id_playlist" />
相关文章推荐
- android 音乐播放器 播放列表功能
- Android简易音乐播放器之播放列表实现(第二篇)
- 设计一个音乐播放器,用List列表显示手机中所有音乐,支持播放、暂停、继续、上一首、下一首等功能。
- Android 音乐播放器的开发教程(六)service的运用及音乐列表点击播放 ----- 小达
- Android仿搜狐视频、微视等列表播放视频功能
- android 调用手机已安装的音乐播放器 的列表播放音乐
- Android应用--简、美音乐播放器实现左右切屏功能
- Android视频播放项目总结之 适配器绑定视频信息列表显示到界面(适配器简单优化)
- Android使用MediaRecorder和Camera实现视频录制及播放功能整理
- android仿微信联系人索引列表功能
- android列表中使用MediaPlayer播放视频的一个问题
- 使用Vitamio打造自己的Android万能播放器(3)——本地播放(主界面、播放列表)
- Android应用--简、美音乐播放器获取专辑图片(自定义列表适配器)
- Android----Intent,运用由android系统帮助匹配实现打电话、发送短信、打开网页、播放音乐、打开视频、打开图片、安装APK、通知栏消息、拍照上传头像等功能
- 调用android平台功能-拨号,地图,网页,短信,Email,播放多媒体
- Android3种播放视频功能
- android进行录音功能并保存播放
- Android调用手机系统自带录音功能实现语音录制与播放
- Android实现二级列表购物车功能
- Android中WebView的定位功能、视频全屏播放、下载功能、页面Url的处理、进度条处理