i want to make an android aplication which record the voice of duration only 1 minute and save automatically after 1 minute reording ..please send me

  • Replies:0
Akash khan swati
  • Forum posts: 1

Mar 20, 2016, 4:48:34 PM via Website

** i already serach many link and also develop a simple application which stop the record manually i want mey application stop recording automatically after 1 minute but have no idea .this is my application mainactivity**

package com.javacodegeeks.android.audiocapturetest;

import java.io.IOException;
import android.media.MediaPlayer;
import android.media.MediaRecorder;
import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {

private MediaRecorder myRecorder;
private MediaPlayer myPlayer;
private String outputFile = null;
private Button startBtn;
private Button stopBtn;
private Button playBtn;
private Button stopPlayBtn;
private TextView text;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

  text = (TextView) findViewById(R.id.text1);
  // store it to sd card
  outputFile = Environment.getExternalStorageDirectory().
          getAbsolutePath() + "/javacodegeeksRecording.3gpp";

  myRecorder = new MediaRecorder();
  myRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
  myRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
  myRecorder.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB);
  myRecorder.setOutputFile(outputFile);

  startBtn = (Button)findViewById(R.id.start);
  startBtn.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        start(v);
    }
  });

  stopBtn = (Button)findViewById(R.id.stop);
  stopBtn.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        stop(v);
    }
  });

  playBtn = (Button)findViewById(R.id.play);
  playBtn.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
            play(v);    
    }
  });

  stopPlayBtn = (Button)findViewById(R.id.stopPlay);
  stopPlayBtn.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        stopPlay(v);
    }
  });

}

public void start(View view){
try {
myRecorder.prepare();
myRecorder.start();
} catch (IllegalStateException e) {
// start:it is called before prepare()
// prepare: it is called after start() or before setOutputFormat()
e.printStackTrace();
} catch (IOException e) {
// prepare() fails
e.printStackTrace();
}

   text.setText("Recording Point: Recording");
   startBtn.setEnabled(false);
   stopBtn.setEnabled(true);

   Toast.makeText(getApplicationContext(), "Start recording...", 
           Toast.LENGTH_SHORT).show();

}

public void stop(View view){
try {
myRecorder.stop();
myRecorder.release();
myRecorder = null;

      stopBtn.setEnabled(false);
      playBtn.setEnabled(true);
      text.setText("Recording Point: Stop recording");

      Toast.makeText(getApplicationContext(), "Stop recording...",
              Toast.LENGTH_SHORT).show();
   } catch (IllegalStateException e) {
        //  it is called before start()
        e.printStackTrace();
   } catch (RuntimeException e) {
        // no valid audio/video data has been received
        e.printStackTrace();
   }

}

public void play(View view) {
try{
myPlayer = new MediaPlayer();
myPlayer.setDataSource(outputFile);
myPlayer.prepare();
myPlayer.start();

       playBtn.setEnabled(false);
       stopPlayBtn.setEnabled(true);
       text.setText("Recording Point: Playing");

       Toast.makeText(getApplicationContext(), "Start play the recording...", 
               Toast.LENGTH_SHORT).show();
   } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

}

public void stopPlay(View view) {
try {
if (myPlayer != null) {
myPlayer.stop();
myPlayer.release();
myPlayer = null;
playBtn.setEnabled(true);
stopPlayBtn.setEnabled(false);
text.setText("Recording Point: Stop playing");

           Toast.makeText(getApplicationContext(), "Stop playing the recording...", 
                   Toast.LENGTH_SHORT).show();
       }
   } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

}

}

Reply