package com.androidsample.Action_Sound;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import android.app.Activity;
import android.content.Context;
import android.database.Cursor;
import android.graphics.drawable.Drawable;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnTouchListener;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore.Audio.Media;
import android.widget.ListView;
public class My_Rocrdings extends Activity {
private final static String DEBUG_TAG = "My_Rocrdings";
/** Called when the activity is first created. */
private ArrayList<ItemList> mRecItems;
private ItemAdapter mItemListAdapter;
private ListView mListView_rec_list;
private class ItemList
{
int id; /* db idx */
String title; /* Rec 저장 이름 */
String path; /* 저장 path */
Uri rec_uri; /* 저장된 URI */
}
ListView listview;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_recordings);
mListView_rec_list = (ListView)findViewById(R.id.lv_rec_list);
/* record list 가져 오기 */
display_data_update();
if( mRecItems != null ) {
show_data_list();
}
}
private void display_data_update() {
String[] projection = new String[] { Media._ID, Media.TITLE, Media.DATA};
Cursor audio_list;
Uri mMedia = Media.EXTERNAL_CONTENT_URI;
audio_list = managedQuery(mMedia, projection, null, null, Media.DEFAULT_SORT_ORDER + " ASC");
mRecItems = null ;
mRecItems = new ArrayList<ItemList>();
audio_list.moveToFirst();
while(!audio_list.isAfterLast()) {
Log.d(DEBUG_TAG, "_ID is " + audio_list.getInt(0));
Log.d(DEBUG_TAG, "TITLE NAME is " + audio_list.getString(1));
Log.d(DEBUG_TAG, "Audio file path is " + audio_list.getString(2));
Log.d(DEBUG_TAG, "Audio file uir" + Media.getContentUriForPath(audio_list.getString(2)));
ItemList tmp = new ItemList();
tmp.id = audio_list.getInt(0);
tmp.title = audio_list.getString(1);
tmp.path = audio_list.getString(2);
tmp.rec_uri = Media.getContentUriForPath(audio_list.getString(2));
mRecItems.add(tmp);
audio_list.moveToNext();
}
audio_list.close();
}
private void show_data_list() {
mItemListAdapter = new ItemAdapter(this, R.layout.rec_list, mRecItems);
mListView_rec_list.setItemsCanFocus(false);
mListView_rec_list.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
mListView_rec_list.setAdapter(mItemListAdapter);
}
private class ItemAdapter extends ArrayAdapter<ItemList> {
private ArrayList<ItemList> items;
public ItemAdapter(Context context, int textViewResourceId ,
ArrayList<ItemList> objects) {
super(context, textViewResourceId, objects);
// TODO Auto-generated constructor stub
this.items = objects;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View v = convertView;
if( v == null ) {
LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.rec_list, null);
}
ItemList curItem = items.get(position);
if( curItem != null ) {
TextView l_Title = (TextView)v.findViewById(R.id.txt_rec_title);
l_Title.setText(curItem.title);
ImageView iv_play = (ImageView)v.findViewById(R.id.img_play_rec); // img_play_rec 재생이미지 ID
iv_play.setOnTouchListener(new OnItemTouchListener(position));
}
return v;
}
}
private class OnItemTouchListener implements OnTouchListener {
private int mPosition;
OnItemTouchListener(int positon) {
mPosition = positon;
}
public boolean onTouch(View view, MotionEvent event) {
Log.i(DEBUG_TAG , "Touch" + event.getAction());
// TODO Auto-generated method stub
if( event.getAction() == MotionEvent.ACTION_DOWN ) {
Log.i(DEBUG_TAG, "Touch position is " + mPosition );
ItemList curItem = mRecItems.get(mPosition);
MediaPlayer mPlayer = new MediaPlayer();
try {
mPlayer.setDataSource(curItem.path);
mPlayer.prepare();
} catch(IOException e) {
}
mPlayer.start(); // 뮤직플레이
}
return false;
}
};
}
-------------------------------------------------------------------------------------------------------------------
녹음한것을 뮤직에서 불러오는것인데요...
재생버튼누르면 재생까지는 되는데......
재생정지도 하고 싶은데요.... 정지이미지버튼 추가한다음에 무슨코드 넣으면 되나요???




이게 정보인가요?