大家好,我们今天要利用Android MediaPlayer Step 1:preparation work. mksdcard 512M sdcard.img create a new avd named AndroidSdcard push songs into sdcard(before you push,you make sure your avd is running,else the operation of push will not work): adb push f:\music\1.mp3 /sdcard Step 2: Layout UI desigen: create two .xml files we called song_item.xml and songlist.xml the code are: song_item.xml:
         < ?xml version ="1.0" encoding ="utf-8"? > < TextView android:id ="@+id/text1" xmlns:android ="http://schemas.android.com/apk/res/android" android:layout_width ="wrap_content" android:layout_height ="wrap_content" />          songlist.xml:       
         < ?xml version ="1.0" encoding ="UTF-8"? > < LinearLayout xmlns:android ="http://schemas.android.com/apk/res/android" android:orientation ="vertical" android:layout_width ="fill_parent" android:layout_height ="fill_parent" > < ListView android:id ="@id/android:list" android:layout_width ="fill_parent" android:layout_height ="fill_parent" android:layout_weight ="1" android:drawSelectorOnTop ="false" /> < TextView android:id ="@id/android:empty" android:layout_width ="fill_parent" android:layout_height ="fill_parent" android:text ="No songs found on SD Card." /> </LinearLayout>          Step 3: the core code MeusicDemo.java:    
        
  1. package com.android.test; import java.io.File; import java.io.FilenameFilter; import java.io.IOException; import java.util.ArrayList; import java.util.List; import android.app.ListActivity; import android.media.MediaPlayer; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.ArrayAdapter; import android.widget.ListView; class Mp3Filter implements FilenameFilter { public boolean accept(File dir, String name) { return (name.endsWith( ".mp3"));}} public class MeusicDemo extends ListActivity { private static final String MEDIA_PATH = new String( "/sdcard/"); private List<String> songs = new ArrayList<String>(); private MediaPlayer mp = new MediaPlayer();@Override public void onCreate(Bundle icicle) { try { super.onCreate(icicle); setContentView(R.layout.songlist); updateSongList();} catch (NullPointerException e) { Log.v(getString(R.string.app_name), e.getMessage());}} public void updateSongList() { File home = new File(MEDIA_PATH); if (home.listFiles( new Mp3Filter()).length > 0) { for (File file : home.listFiles( new Mp3Filter())) { songs.add(file.getName());}ArrayAdapter<String> songList = new ArrayAdapter<String>( this,R.layout.song_item,songs);setListAdapter(songList);} } @Override protected void onListItemClick(ListView l, View v, int position, long id) { try {mp.reset(); mp.setDataSource(MEDIA_PATH + songs.get(position)); mp.prepare(); mp.start();} catch(IOException e) { Log.v(getString(R.string.app_name), e.getMessage());}}}
Step 4:run it.the result like this: now u can enjoy the music.lol~ if u wanna the source code please leave your email address, i will send u!

更多相关文章

  1. Android(安卓)MediaPlayer 简单综合应用
  2. [PHP]通过 PHP for Android(安卓)利用PHP编写Android应用教程
  3. Android的NDK开发(2)————利用Android(安卓)NDK编写一个简单
  4. Android利用tcpdump抓包
  5. Android(安卓)制作.9.png图片之利用Android(安卓)9-patch shadow
  6. Android连载之:第二章第三节:利用其他的开发环境和工具开发Android
  7. Android利用Python后台进行人脸识别登录
  8. Android野史系列:3.利用Android(安卓)Studio开发一个demo应用
  9. 转载 android 利用ksoap2方式连接webservice

随机推荐

  1. 或许您还不知道的八款开源Android游戏引
  2. Android配置心得
  3. android菜单详解三:上下文菜单
  4. 实现基于Android的英文电子词典
  5. 微软与哲学的距离
  6. 真正的高手都在讲故事
  7. pgsql查看主备节点的方法
  8. Python如何开发网站?这两个不能少!
  9. Android(安卓)8.0的scan流程
  10. android自带的下拉刷新控件SwipeRefreshL