本文共 4870 字,大约阅读时间需要 16 分钟。
package com.ouling.ex_musicPlayer;import java.io.File;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;//import android.app.Activity;import android.app.ListActivity;import android.media.MediaPlayer;import android.media.MediaPlayer.OnCompletionListener;import android.os.Bundle;import android.view.*;import android.view.View.OnClickListener;import android.widget.*;public class ex_musicPlayer extends ListActivity { // 播放对象 private MediaPlayer m_musicplayer; // 播放列表 private Listm_playlist = new ArrayList (); // 当前播放索引位置 private int m_list_item = 0; // 音乐路径 private static String m_musicpath = new String("/sdcard/"); public Button last; public Button stop; public Button start; public Button pause; public Button next; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); m_musicplayer = new MediaPlayer(); findView();// 获取按钮 musicList();// 获取播放列表 listener();// 监听 } private void listener() { // TODO Auto-generated method stub // 停止 this.stop.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (m_musicplayer!=null) { m_musicplayer.stop(); } } }); // 开始 start.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub playMusic(m_playlist.get(m_list_item)); } }); // 下一首 next.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub nextMusic(); } }); // 暂停 pause.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub if (m_musicplayer.isPlaying()) { m_musicplayer.pause(); } else { m_musicplayer.start(); } } }); // 上一首 last.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub lastMusic(); } }); } // 获取SD音乐 private void musicList() { // TODO Auto-generated method stub m_playlist.clear(); search(m_musicpath, "mp3", m_playlist); SimpleAdapter adapter = new SimpleAdapter(this, this.getData(), R.layout.m_musicitem, new String[] { "song_name", "info", "img" }, new int[] { R.id.song_name, R.id.info, R.id.img }); setListAdapter(adapter); } // 遍历路径下指定后缀名 private void search(String dir, final String suffix, List list) { File file = new File(dir); // 遍历该目录中所有文件 File[] files = file.listFiles(); if ((files != null) && (files.length > 0)) { for (File tmpfile : files) { // 如果是文件夹,继续遍历该目录 if (tmpfile.isDirectory()) { search(tmpfile.getPath(), suffix, list); } else { //判断文件后缀名 if (tmpfile.getPath().endsWith(suffix)) { list.add(tmpfile.getPath()); } } } } } private List
转载地址:http://fbkib.baihongyu.com/