pls post the code for audio record

Quickly share your Android Code Snippets here...

pls post the code for audio record

Postby gowtham » Wed Jun 09, 2010 6:05 am

hi all
i want to develop an application on audio record,which records some audio and plays it.
can anyone post the code pls?????
gowtham
Freshman
Freshman
 
Posts: 4
Joined: Fri May 14, 2010 10:38 am

Top

Re: pls post the code for audio record

Postby chris24300 » Thu Jul 22, 2010 4:31 pm

Why? Voice Recorder comes standard...
chris24300
Senior Developer
Senior Developer
 
Posts: 109
Joined: Wed Apr 28, 2010 3:13 pm

Re: pls post the code for audio record

Postby eckops » Fri Aug 27, 2010 7:19 am

try this :

RecorderActivity.java
Syntax: [ Download ] [ Hide ]
Using java Syntax Highlighting
  1.  
  2. package com.cutter;
  3. import java.io.File;
  4. import java.io.IOException;
  5.  
  6. import android.app.Activity;
  7. import android.content.Intent;
  8. import android.database.Cursor;
  9. import android.media.MediaPlayer;
  10. import android.media.MediaRecorder;
  11. import android.media.MediaPlayer.OnCompletionListener;
  12. import android.net.Uri;
  13. import android.os.Bundle;
  14. import android.os.Environment;
  15. import android.os.SystemClock;
  16. import android.provider.MediaStore;
  17. import android.util.Log;
  18. import android.view.View;
  19. import android.view.View.OnClickListener;
  20. import android.widget.Button;
  21. import android.widget.Chronometer;
  22. import android.widget.ImageButton;
  23. import android.widget.ImageView;
  24. import android.widget.TextView;
  25.  
  26. public class RecorderActivity extends Activity {
  27.         private static final String APP_TAG = "com.cutter";
  28.         private MediaRecorder recorder;
  29.         private MediaPlayer player;
  30.         private TextView resultView;
  31.         private boolean recording = false;
  32.         private boolean playing = false;
  33.         private File outfile = null;
  34.     private boolean mWasGetContentIntent;
  35.     private boolean mShowAll;
  36.     private static final int REQUEST_CODE_EDIT = 1;
  37.     public Button dis, edPlay;
  38.     public ImageButton btPlay, stp, btRecord;
  39.     public Chronometer mChronometer;
  40.         @Override
  41.         public void onCreate(Bundle savedInstanceState) {
  42.                 super.onCreate(savedInstanceState);
  43.                 setContentView(R.layout.recorder);
  44.                 resultView = (TextView) findViewById(R.id.output);
  45.                 ImageButton btRecord = (ImageButton) findViewById(R.id.btRecord);
  46.                 btRecord.setOnClickListener(handleRecordClick);
  47.                 ImageButton btPlay = (ImageButton) findViewById(R.id.btplay);
  48.                 btPlay.setOnClickListener(handlePlayClick);
  49.                 ImageButton stp = (ImageButton) findViewById(R.id.stopPlay);
  50.                 stp.setOnClickListener(stop);
  51.                 mChronometer = (Chronometer) findViewById(R.id.time);
  52.                 btPlay.setEnabled(false);
  53.                 stp.setEnabled(false);
  54.         }
  55.  
  56. private final OnClickListener handleRecordClick = new OnClickListener() {
  57.                 @Override
  58.                 public void onClick(View view) {
  59.                                 startRecord();
  60.                                 ImageButton btRecord = (ImageButton) findViewById(R.id.btRecord);
  61.                                 ImageButton btPlay = (ImageButton) findViewById(R.id.btplay);
  62.                                 ImageButton stp = (ImageButton) findViewById(R.id.stopPlay);
  63.                                 btRecord.setEnabled(false);
  64.                                 btPlay.setEnabled(false);
  65.                                 stp.setEnabled(true);
  66.                                
  67.                 }
  68.         };
  69. private final OnClickListener handlePlayClick = new OnClickListener() {
  70.                 @Override
  71.                 public void onClick(View view) {
  72.                         ImageButton btRecord = (ImageButton) findViewById(R.id.btRecord);
  73.                         ImageButton btPlay = (ImageButton) findViewById(R.id.btplay);
  74.                         ImageButton stp = (ImageButton) findViewById(R.id.stopPlay);
  75.                         btRecord.setEnabled(false);
  76.                         btPlay.setEnabled(false);
  77.                         stp.setEnabled(true);
  78.                         startPlay();
  79.                 }
  80.         };
  81. private void startRecord() {
  82.                 mChronometer.setBase(SystemClock.elapsedRealtime());
  83.                 mChronometer.start();
  84.                 recorder = new MediaRecorder();
  85.                 player = new MediaPlayer();
  86.                 try {
  87.                         // the soundfile
  88.                         File storageDir = new File(Environment
  89.                                         .getExternalStorageDirectory(), "/audio/");
  90.                         storageDir.mkdir();
  91.                         outfile = File.createTempFile("Recording", ".3gp", storageDir);
  92.  
  93.                         // init recorder
  94.                         recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
  95.                         recorder.setOutputFormat(MediaRecorder.OutputFormat.RAW_AMR);
  96.                         recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
  97.                         recorder.setOutputFile(outfile.getAbsolutePath());
  98.  
  99.                         // init player
  100.                
  101.                         player.setDataSource(outfile.getAbsolutePath());
  102.                 } catch (IOException e) {
  103.                 } catch (IllegalArgumentException e) {
  104.                 } catch (IllegalStateException e) {
  105.                 }
  106.                 printResult("Recording........");
  107.                 try {
  108.                         recorder.prepare();
  109.                         recorder.start();
  110.                         recording = true;
  111.                 } catch (IllegalStateException e) {
  112.                 } catch (IOException e) {
  113.                 }
  114.         }
  115.  
  116.         ImageView on = (ImageView) findViewById(R.id.onrec);
  117.                 ImageView off = (ImageView) findViewById(R.id.offrec);
  118.                 off.setVisibility(View.VISIBLE);
  119.                 on.setVisibility(View.GONE);
  120.                 mChronometer.stop();
  121.                 printResult("Press Record Button");
  122.                 recorder.stop();
  123.                 recorder.reset();
  124.                 recorder.release();
  125.                 recording = false;
  126.         }
  127.  
  128.         private void startPlay() {
  129.                 printResult("Playing...");
  130.                 try {if(!player.isPlaying()){
  131.                         player.prepare();
  132.                         player.start();}
  133.                 } catch (IllegalStateException e) {
  134.                 } catch (IOException e) {
  135.                 }
  136.                       player.setOnCompletionListener(new OnCompletionListener(){
  137.                                 @Override
  138.                                 public void onCompletion(MediaPlayer mp) {
  139.                                         ImageButton btRecord = (ImageButton) findViewById(R.id.btRecord);
  140.                                         ImageButton btPlay = (ImageButton) findViewById(R.id.btplay);
  141.                                         ImageButton stp = (ImageButton) findViewById(R.id.stopPlay);
  142.                                         btRecord.setEnabled(true);
  143.                                         btPlay.setEnabled(true);
  144.                                         stp.setEnabled(false);
  145.                                         mp.stop();
  146.                                        
  147.                                 }
  148.                       });
  149.  
  150.        
  151.         }
  152.  
  153.  
  154. private void stopPlay() {
  155.                 printResult("Press Record Button");
  156.                 if(player.isPlaying()){
  157.                 player.stop();}
  158.         }
  159.  
  160.         private void printResult(String result) {
  161.                 resultView.setText(result);
  162.         }
  163.         private final OnClickListener stop = new OnClickListener() {
  164.                 @Override
  165.                 public void onClick(View view) {
  166.                         ImageButton btRecord = (ImageButton) findViewById(R.id.btRecord);
  167.                         ImageButton btPlay = (ImageButton) findViewById(R.id.btplay);
  168.                         ImageButton stp = (ImageButton) findViewById(R.id.stopPlay);
  169.                         btRecord.setEnabled(true);
  170.                         btPlay.setEnabled(true);
  171.                         stp.setEnabled(false);
  172.                         if(recording){stopRecord();}
  173.                         if(player.isPlaying()){stopPlay();}
  174.                 }
  175.         };     
  176.        
  177.  
Parsed in 0.055 seconds, using GeSHi 1.0.8.4



recorder.xml
Syntax: [ Download ] [ Hide ]
Using xml Syntax Highlighting
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <AbsoluteLayout
  3. android:id="@+id/widget35"
  4. android:layout_width="fill_parent"
  5. android:layout_height="fill_parent"
  6. android:background = "@drawable/background3"
  7. xmlns:android="http://schemas.android.com/apk/res/android"
  8. >
  9. <Chronometer
  10. android:id="@+id/time"
  11.        android:layout_width="fill_parent"
  12.        android:layout_height="fill_parent"
  13.        android:paddingTop="150dip"
  14.         android:paddingLeft="80dip"
  15.        android:textColor="#ff000000"
  16.        android:height = "100px"
  17.        android:textStyle = "bold"
  18.        android:textScaleX = "4"
  19.        />
  20.        
  21. <TextView
  22. android:id="@+id/output"
  23. android:layout_width="fill_parent"
  24. android:layout_height="wrap_content"
  25. android:text = "Press Record Button"
  26. android:layout_x="110px"
  27. android:layout_y="60px"
  28. android:textColor="#ff000000"
  29.  
  30. >
  31. </TextView>
  32. <ImageButton
  33. android:id="@+id/btRecord"
  34. android:layout_width="80px"
  35. android:layout_height="81px"
  36. android:layout_x="34px"
  37. android:layout_y="342px"
  38. style="@android:style/MediaButton"
  39. android:src="@drawable/rec"
  40. >
  41. </ImageButton>
  42. <ImageButton
  43. android:id="@+id/stopPlay"
  44. android:layout_width="80px"
  45. android:layout_height="81px"
  46. style="@android:style/MediaButton"
  47. android:layout_x="201px"
  48. android:layout_y="342px"
  49. android:src="@drawable/stop"
  50. >
  51. </ImageButton>
  52. <ImageButton
  53. android:id="@+id/btplay"
  54. android:layout_width="80px"
  55. android:layout_height="81px"
  56. android:layout_x="117px"
  57. android:layout_y="342px"
  58. style="@android:style/MediaButton"
  59. android:src="@drawable/play"
  60. >
  61. </ImageButton>
  62. </AbsoluteLayout>
  63.  
  64.  
Parsed in 0.006 seconds, using GeSHi 1.0.8.4
eckops
Junior Developer
Junior Developer
 
Posts: 11
Joined: Sun Mar 21, 2010 7:41 am

Top

Return to Code Snippets for Android

Who is online

Users browsing this forum: No registered users and 4 guests