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 @@ + +