Using Intent to record audio : Intent « Core Class « Android






Using Intent to record audio

    

package app.test;

import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class Test extends Activity implements OnClickListener,
    OnCompletionListener {

  public static int RECORD_REQUEST = 0;

  Button createRecording, playRecording;

  Uri audioFileUri;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    createRecording = (Button) this.findViewById(R.id.RecordButton);
    createRecording.setOnClickListener(this);

    playRecording = (Button) this.findViewById(R.id.PlayButton);
    playRecording.setOnClickListener(this);
    playRecording.setEnabled(false);
  }

  public void onClick(View v) {
    if (v == createRecording) {
      Intent intent = new Intent(
          MediaStore.Audio.Media.RECORD_SOUND_ACTION);
      startActivityForResult(intent, RECORD_REQUEST);
    } else if (v == playRecording) {

      MediaPlayer mediaPlayer = MediaPlayer.create(this, audioFileUri);
      mediaPlayer.setOnCompletionListener(this);
      mediaPlayer.start();
      playRecording.setEnabled(false);
    }
  }

  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode == RESULT_OK && requestCode == RECORD_REQUEST) {
      audioFileUri = data.getData();
      playRecording.setEnabled(true);
    }
  }

  public void onCompletion(MediaPlayer mp) {
    playRecording.setEnabled(true);
  }
}
//main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<Button android:text="Record Audio" android:id="@+id/RecordButton"
 android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
<Button android:text="Play Recording" android:id="@+id/PlayButton"
 android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
</LinearLayout>

   
    
    
    
  








Related examples in the same category

1.Using Intent to open other Activity
2.Create Intent to open a Uri
3.extends IntentService
4.Phone Intent
5.Map Intent
6.Market Intent
7.Load Activity with Intent
8.Using Intent to make another phone call
9.extends IntentService to create your own Intent
10.Adding data bundle to Intent
11.Using Intent to show other Activities
12.Start Intent with Utility class
13.Load library Activity with Intent
14.Capture Image with Intent
15.Intent.ACTION_MEDIA_MOUNTED
16.Video Player Intent
17.Video Capture Intent
18.Implementing an application service that will run in response to an alarm, allowing us to move long duration work out of an intent receiver.
19.Example of various Intent flags to modify the activity stack.
20.Sample code that invokes the speech recognition intent API.
21.extends IntentService to upload a file
22.factory class for generating various intents
23.Open Web Page Intent
24.Is Intent Available
25.start MMS Intent
26.Access the Internet
27.Pdf viewer
28.Rotation One Demo
29.Media activity