现在我将做一个读取手机本地一个文件夹里面的所有音乐文件。

    File file=new File("sdcard/我的音乐/");

    创建一个指定文件路径的file;

    String[] music=file.list();

    列出File对象的所有文件盒路径名,返回String数组

 

 

在layout中如下:

 

 

 代码如下:  

package com.shihao_music;

import java.io.File;
import java.io.IOException;

import android.media.MediaPlayer;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends Activity {

 private Button bn1;
    private Button bn2;
    private Button bn3;
    private Button bn4;
    private Button bn5;
    private TextView text1;
    MediaPlayer player=new MediaPlayer();           //定义一个Mediaplayer变量,用来实现播放                           
    private static final String  SD_PATH = new String("sdcard/我的音乐/");  //设置文件夹的路径
    File file=new File("sdcard/我的音乐/");
    String[] music=file.list();
    int ind=0;         //定义一个要播放音乐文件的索引
  
    //加载音频资源文件 
    void play(int index)
 {  
  try {
   player.reset(); 
   player.setDataSource(SD_PATH +music[index]);
   player.prepare();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } 
  text1.setText(music[index]);
  
 }
   
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  
  //获得用来显示歌名的TextView
  text1=(TextView)findViewById(R.id.textView1);
  //获得5个按钮
  bn1=(Button)findViewById(R.id.button1);
  bn2=(Button)findViewById(R.id.button2);
  bn3=(Button)findViewById(R.id.button3);
  bn4=(Button)findViewById(R.id.button4);
  bn5=(Button)findViewById(R.id.button5);
  //为4个控制按钮绑定监听器
  bn1.setOnClickListener(new Play());
  bn2.setOnClickListener(new Play());
  bn3.setOnClickListener(new Play());
  bn4.setOnClickListener(new Play());
  bn5.setOnClickListener(new Play());
       
 }
 
  
 //定义开始播放的监听器
 class Play implements OnClickListener{
  
  @Override
  public void onClick(View v) {
   switch (v.getId()) {
         case R.id.button1:                    //开始播放
         {  
          play(ind);
          if(!player.isPlaying())  
                   player.start();
             break;
         }
         case R.id.button2:                    //暂停播放
          if(player.isPlaying())          
                    player.pause();
             break;
         case R.id.button3:                    //停止播放
          if(player.isPlaying())          
                    player.stop();
             break;
         case R.id.button4:                    //播放下一首
         {
             ind++;
          player.stop();
          player.reset();
          play(ind);
          player.start();        
          break;
         }
         case R.id.button5:
         {
          ind--;
          player.stop();      
          play(ind);
          player.start();        
          break;
          
         }
         default:
             break;

  }

  }
 }
}

注:private static final String  SD_PATH = new String("sdcard/我的音乐/");
    File file=new File("sdcard/我的音乐/");

中的路径要看自己手机而设置。

运行结果:享受听歌吧

 

 

音乐播放器(上): http://blog.csdn.net/moshihao/article/details/8885685

 

更多相关文章

  1. Pycharm安装PyQt5的详细教程
  2. Android--SoLoader,android动态加载so库
  3. Android(安卓)命令行编译、打包生成apk文件
  4. Android(安卓)Audio Focus的应用(requestAudioFocus)
  5. android手机客户端上传文件,java servlet服务器端接收并保存到服
  6. Android(安卓)获取存储卡路径和空间使用情况
  7. android Uri获取真实路径转换成File的方法
  8. DatePicker 日期选择控件 DatePickerDialog 日期选择对话框
  9. Android播放照相机声音

随机推荐

  1. [Android]只显示月和日的DatePickerDialo
  2. ddroid 6.0权限管理开发
  3. Android(安卓)ApiDemos示例解析(113):Vie
  4. android 混淆时出现的一些问题
  5. android常用的方法
  6. Android之设置横屏竖屏
  7. [RK3399][Android7.1] 调试笔记 --- 默认
  8. Android学习笔记---使用HttpClient发送PO
  9. Android(安卓)丢失R.java文件处理方法
  10. Android(安卓)studio如何运行java程序代