简单android音乐播放器中 android学习(四)

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

    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

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值