教你轻松制作Android音乐播放器

2019-12-10 19:54:21于海丽
  • File rootDir = Environment.getExternalStorageDirectory();//3  Log.d("rootname",rootDir.getName()); 
  • Log.d("rootname",rootDir.getAbsolutePath());  fillMusicList(rootDir); 
  • Log.d("musiclist",String.valueOf(musicList.size()));  player = new MediaPlayer(); 
  • if (musicList.size() != 0) {  startPlay(); 
  • }   
  • player.setOnCompletionListener(new OnCompletionListener() {   
  • @Override  public void onCompletion(MediaPlayer mp) { 
  • // TODO Auto-generated method stub  player.reset(); 
  • curPage = curPage==musicList.size()-1? (curPage+1)%musicList.size() : curPage+1;   startPlay(); 
  • }  }); 
  • }  /*迭代获取 音乐 文件*/ 
  • private void fillMusicList(File dir){  File[] sourceFiles = dir.listFiles(); 
  • Log.d("长度",String.valueOf(sourceFiles.length));  for(File file : sourceFiles){ 
  • if (file.isDirectory()) {  Log.d("文件夹名称",String.valueOf(file.getName())); 
  • // if (!file.getName().equals("lost+found")) {  fillMusicList(file); 
  • // }   
  • }  else { 
  • String name = file.getName();  Log.d("childname",file.getName()); 
  • if (name.endsWith(".mp3")||name.endsWith(".acc")) {//支持的格式  musicList.add(file); 
  • }  } 
  • }  } 
  • private void startPlay(){  mSendBroadCast(NAME,musicList.get(curPage).getName());//4 
  • try {  player.setDataSource(musicList.get(curPage).getAbsolutePath()); 
  • player.prepare();  player.start(); 
  • player.getDuration();  mSendBroadCast(TOTALTIME,player.getDuration()); 
  • Timer timer = new Timer();  timer.schedule(new TimerTask() { 
  •   @Override 
  • public void run() {  // TODO Auto-generated method stub 
  • mSendBroadCast(CURTIME,player.getCurrentPosition());  }