MainActivity.java
package kantapp.android_audiocapturetutorial;
import android.media.MediaPlayer;
import android.media.MediaRecorder;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import java.io.IOException;
public class MainActivity extends AppCompatActivity
{
Button play,record,stop;
MediaRecorder audioRecord;
String outputFile=null;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
play=(Button)findViewById(R.id.play);
record=(Button)findViewById(R.id.record);
stop=(Button)findViewById(R.id.stop);
play.setEnabled(false);
stop.setEnabled(false);
outputFile= Environment.getExternalStorageDirectory().getAbsolutePath()+"/recording.3gp";
audioRecord=new MediaRecorder();
audioRecord.setAudioSource(MediaRecorder.AudioSource.MIC);
audioRecord.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
audioRecord.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB);
audioRecord.setOutputFile(outputFile);
record.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
try
{
audioRecord.prepare();
audioRecord.start();
}
catch (IllegalStateException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
record.setEnabled(false);
stop.setEnabled(true);
Toast.makeText(MainActivity.this, "Recording Starting...", Toast.LENGTH_SHORT).show();
}
});
stop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
audioRecord.stop();
audioRecord.release();
audioRecord=null;
stop.setEnabled(false);
play.setEnabled(true);
Toast.makeText(MainActivity.this, "Audio Record Succesfully", Toast.LENGTH_SHORT).show();
}
});
play.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v) throws IllegalArgumentException,SecurityException,IllegalStateException
{
MediaPlayer mediaPlayer=new MediaPlayer();
try
{
mediaPlayer.setDataSource(outputFile);
}
catch (IOException e)
{
e.printStackTrace();
}
try
{
mediaPlayer.prepare();
}
catch (IOException e)
{
e.printStackTrace();
}
mediaPlayer.start();
}
});
Button exit=(Button)findViewById(R.id.exit);
exit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:orientation="vertical"
tools:context="kantapp.android_audiocapturetutorial.MainActivity">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView"
android:src="@mipmap/ic_launcher"
android:layout_gravity="center_horizontal" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Play"
android:id="@+id/play"
android:layout_gravity="left|top" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Record"
android:id="@+id/record"
android:layout_gravity="center_horizontal|top" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Stop"
android:id="@+id/stop"
android:layout_gravity="right|top" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Exit"
android:id="@+id/exit"
android:layout_gravity="center" />
</FrameLayout>
</LinearLayout>
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="kantapp.android_audiocapturetutorial">
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Download Project : https://userscloud.com/y86xfkq1i39p
Only Source Code :https://userscloud.com/z1ozwb9r8fax
Only Source Code :https://userscloud.com/z1ozwb9r8fax
No comments:
Post a Comment