Index: trunk/25.AudioTest/default.properties
===================================================================
--- trunk/25.AudioTest/default.properties (revision 90)
+++ trunk/25.AudioTest/default.properties (revision 90)
@@ -0,0 +1,13 @@
+# This file is automatically generated by Android Tools.
+# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
+#
+# This file must be checked in Version Control Systems.
+#
+# To customize properties used by the Ant build system use,
+# "build.properties", and override values to adapt the script to your
+# project structure.
+
+# Indicates whether an apk should be generated for each density.
+split.density=false
+# Project target.
+target=android-7
Index: trunk/25.AudioTest/.classpath
===================================================================
--- trunk/25.AudioTest/.classpath (revision 90)
+++ trunk/25.AudioTest/.classpath (revision 90)
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
Index: trunk/25.AudioTest/.project
===================================================================
--- trunk/25.AudioTest/.project (revision 90)
+++ trunk/25.AudioTest/.project (revision 90)
@@ -0,0 +1,33 @@
+
+
+ 25.AudioTest
+
+
+
+
+
+ com.android.ide.eclipse.adt.ResourceManagerBuilder
+
+
+
+
+ com.android.ide.eclipse.adt.PreCompilerBuilder
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ com.android.ide.eclipse.adt.ApkBuilder
+
+
+
+
+
+ com.android.ide.eclipse.adt.AndroidNature
+ org.eclipse.jdt.core.javanature
+
+
Index: trunk/25.AudioTest/AndroidManifest.xml
===================================================================
--- trunk/25.AudioTest/AndroidManifest.xml (revision 90)
+++ trunk/25.AudioTest/AndroidManifest.xml (revision 90)
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: trunk/25.AudioTest/src/soo/audio/AudioTest.java
===================================================================
--- trunk/25.AudioTest/src/soo/audio/AudioTest.java (revision 90)
+++ trunk/25.AudioTest/src/soo/audio/AudioTest.java (revision 90)
@@ -0,0 +1,97 @@
+package soo.audio;
+
+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.media.MediaPlayer.OnCompletionListener;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.ArrayAdapter;
+import android.widget.ListView;
+import android.widget.TextView;
+import android.widget.Toast;
+
+public class AudioTest extends ListActivity {
+ /** Called when the activity is first created. */
+ private static final String PATH="/sdcard/";
+ private List list = new ArrayList();
+ private MediaPlayer mp = new MediaPlayer();
+ private int cPosition = 0; //��� ��� ��������
+ private TextView tv;
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.main);
+
+ tv = (TextView)findViewById(R.id.textVeiw02);
+ setAdapter();
+
+ }
+
+ private void setAdapter(){
+ File f = new File(PATH);
+ if(f.listFiles(new Filter()).length>0){
+ for(File fChild : f.listFiles(new Filter())){
+ list.add(fChild.getName());
+ }
+ ArrayAdapter aa
+ = new ArrayAdapter(this, R.layout.item,list);
+ //setListAdapter(aa);
+ setListAdapter(aa);
+ }
+ }
+
+ //item���대┃��� ��諛����� �대깽���⑤�留�
+ @Override
+ protected void onListItemClick(ListView l, View v, int position, long id) {
+ cPosition = position;
+ play(PATH+list.get(position)); //sdcard/???.mp3
+ }
+
+ private void play(String songPath){
+ try{
+ mp.reset();
+ mp.setDataSource(songPath);
+ mp.prepare();
+ mp.start();
+ Toast.makeText(this,"PLAY : "+songPath,Toast.LENGTH_LONG).show();
+ tv.setText("PLAY : "+songPath);
+
+ mp.setOnCompletionListener(new OnCompletionListener() {
+
+ @Override
+ public void onCompletion(MediaPlayer mp) {
+ nextPlay();
+ }
+ }); //��끝����� ����諛����� �대깽��(�곗� �ъ���
+ }catch(IOException ie){
+ Toast.makeText(this,ie.toString(),Toast.LENGTH_LONG).show();
+ }
+ }
+
+ private void nextPlay(){
+ ++cPosition;
+ if(cPosition < list.size()){ //�ㅼ� 怨≪� ���硫�
+ Toast.makeText(this, "�ㅼ�怨��ъ�",Toast.LENGTH_SHORT).show();
+ play(PATH+list.get(cPosition));
+ }else{ //留��留�怨≪� ���硫�..
+ //泥��怨≪�濡���� 媛��.
+ cPosition=0;
+ tv.setText("READY");
+ }
+ }
+}
+
+class Filter implements FilenameFilter{
+
+ @Override
+ public boolean accept(File dir, String filename) {
+ return filename.endsWith(".mp3");
+ }
+
+}
Index: trunk/25.AudioTest/res/values/strings.xml
===================================================================
--- trunk/25.AudioTest/res/values/strings.xml (revision 90)
+++ trunk/25.AudioTest/res/values/strings.xml (revision 90)
@@ -0,0 +1,5 @@
+
+
+ Hello World, AudioTest!
+ AudioTest
+
Index: trunk/25.AudioTest/res/layout/main.xml
===================================================================
--- trunk/25.AudioTest/res/layout/main.xml (revision 90)
+++ trunk/25.AudioTest/res/layout/main.xml (revision 90)
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
Index: trunk/25.AudioTest/res/layout/item.xml
===================================================================
--- trunk/25.AudioTest/res/layout/item.xml (revision 90)
+++ trunk/25.AudioTest/res/layout/item.xml (revision 90)
@@ -0,0 +1,7 @@
+
+