packagecom.example.asyncplayer_ex;importjava.io.IOException;importjava.util.ArrayList;importjavax.security.auth.PrivateCredentialPermission;importandroid.app.Activity;importandroid.drm.DrmStore.Playback;importandroid.media.AsyncPlayer;importandroid.media.AudioManager;importandroid.media.MediaPlayer;importandroid.media.MediaPlayer.OnCompletionListener;importandroid.net.Uri;importandroid.os.Bundle;importandroid.os.Environment;importandroid.util.Log;importandroid.view.Menu;importandroid.view.MenuItem;public class MainActivity extendsActivity {private static final String TAG = "MP3";private AsyncPlayer asyncPlayer = new AsyncPlayer(null);privateString path;privateMediaPlayer mediaPlayer;private int songIndex = 0;private ArrayList songArrayList; //播放声音列表
@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mediaPlayer= newMediaPlayer();
mediaPlayer.setOnCompletionListener(newCompletionListener());
path= Environment.getExternalStorageDirectory().toString() + "/mp3/Voice/";
songArrayList= new ArrayList();
songArrayList.add(path+ "1.MP3");
songArrayList.add(path+ "2.MP3");
songArrayList.add(path+ "3.MP3");
songArrayList.add(path+ "4.MP3");
songArrayList.add(path+ "5.MP3");
songArrayList.add(path+ "6.MP3");
songplay();
}private final class CompletionListener implementsOnCompletionListener{
@Overridepublic voidonCompletion(MediaPlayer mp) {
nextsong();
}
}private voidnextsong() {if (songIndex < songArrayList.size() - 1) {
songIndex= songIndex + 1;
songplay();
}else{
songArrayList.clear();
songIndex= 0;
}
}private voidsongplay() {try{
mediaPlayer.reset();
mediaPlayer.setDataSource(songArrayList.get(songIndex));
mediaPlayer.prepare();
mediaPlayer.start();
}catch(IllegalArgumentException e) {//TODO Auto-generated catch block
e.printStackTrace();
}catch(SecurityException e) {//TODO Auto-generated catch block
e.printStackTrace();
}catch(IllegalStateException e) {//TODO Auto-generated catch block
e.printStackTrace();
}catch(IOException e) {//TODO Auto-generated catch block
e.printStackTrace();
}
}
@Overrideprotected voidonDestroy() {
mediaPlayer.release();
mediaPlayer= null;super.onDestroy();
}
}