package greendrm.recording; import android.app.Activity; import android.content.Intent; import android.media.MediaPlayer; import android.media.MediaPlayer.OnCompletionListener; import android.media.MediaScannerConnection.MediaScannerConnectionClient; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; //import android.widget.Toast; import android.widget.Toast; public class AndroidRecordingActivity extends Activity implements OnClickListener,MediaScannerConnectionClient { public static final int REQ_RECORDING = 1; private Uri recordAudioPath; Button buttonRecording, buttonAudio, buttonDelete; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); buttonRecording = (Button)findViewById(R.id.buttonStartRecording); buttonAudio = (Button)findViewById(R.id.buttonAudio); buttonDelete = (Button)findViewById(R.id.buttonDelete); buttonRecording.setOnClickListener(this); buttonAudio.setOnClickListener(this); buttonDelete.setOnClickListener(this); buttonDelete.setVisibility(View.INVISIBLE); } @Override public void onClick(View v) { if (v == buttonRecording) { startMediaStoreRecording(); } else if (v == buttonAudio) { playAudio(); } else if (v == buttonDelete) { deleteAudio(); } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQ_RECORDING) { if (resultCode == Activity.RESULT_OK) { recordAudioPath = data.getData(); buttonAudio.setText(getResources().getString(R.string.audioPlay)); buttonDelete.setVisibility(View.VISIBLE); } } super.onActivityResult(requestCode, resultCode, data); } // MediaScanner @Override public void onMediaScannerConnected() { // TODO Auto-generated method stub } @Override public void onScanCompleted(String arg0, Uri arg1) { // TODO Auto-generated method stub } public void startMediaStoreRecording() { Intent intent = new Intent("android.provider.MediaStore.RECORD_SOUND"); startActivityForResult(intent, REQ_RECORDING); } private void deleteAudio() { if (getContentResolver().delete(recordAudioPath, null, null) == 1) { Toast.makeText(this, "Sucess to delete", Toast.LENGTH_LONG).show(); buttonAudio.setText(getResources().getString(R.string.audioNo)); buttonDelete.setVisibility(View.INVISIBLE); } } private void playAudio() { Intent intent = new Intent(); intent.setType("audio/*"); startActivity(Intent.createChooser(intent, "Select music")); MediaPlayer audio_play = new MediaPlayer(); audio_play.setOnCompletionListener(completionListener); try { audio_play.setDataSource(this, recordAudioPath); audio_play.prepare(); } catch(Exception e) { e.printStackTrace(); } audio_play.start(); } private OnCompletionListener completionListener = new OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { buttonAudio.setText("Play Again..."); mp.release(); } }; }