Mainactivity.java
PackageCom.example.soundrecord_demo;Importjava.io.IOException;ImportAndroid.media.MediaRecorder;ImportAndroid.os.Bundle;Importandroid.app.Activity;ImportAndroid.view.Menu;ImportAndroid.view.View;ImportAndroid.view.View.OnClickListener;ImportAndroid.widget.Button; Public classMainactivityextendsActivityImplementsonclicklistener{PrivateButton btn1, btn2; PrivateMediarecorder Record; @Overrideprotected voidonCreate (Bundle savedinstancestate) {Super. OnCreate (savedinstancestate); Setcontentview (R.layout.activity_main); BTN1=(Button) Findviewbyid (R.id.button1); BTN2=(Button) Findviewbyid (R.id.button2); Btn1.setonclicklistener ( This); Btn2.setonclicklistener ( This); } @Override Public BooleanOncreateoptionsmenu (Menu menu) {//inflate the menu; This adds items to the action bar if it is present.getmenuinflater (). Inflate (R.menu.main, menu); return true; } @Override Public voidOnClick (View arg0) {//TODO auto-generated Method Stub Switch(Arg0.getid ()) { CaseR.id.button1:initaudio (); Break; CaseR.id.button2:record.stop (); Record.reset (); Record.release (); Break; default: Break; }} @SuppressWarnings ("Deprecation") Private voidInitAudio () {record=NewMediarecorder (); Record.setaudiosource (MediaRecorder.AudioSource.MIC); //Set the Mediarecorder audio source to microphoneRecord.setoutputformat (MediaRecorder.OutputFormat.RAW_AMR); //set the audio format for Mediarecorder recordingRecord.setaudioencoder (MediaRecorder.AudioEncoder.AMR_NB); //set the encoding of the Mediarecorder recording audio to AMR.Record.setoutputfile ("/sdcard/richard.amr"); //set the recorded audio file save path Try{record.prepare (); Record.start (); } Catch(IllegalStateException e) {//TODO auto-generated Catch blockE.printstacktrace (); } Catch(IOException e) {//TODO auto-generated Catch blockE.printstacktrace (); } }}
Activity_main.xml
<Relativelayoutxmlns: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"Tools:context=". Mainactivity " > <ButtonAndroid:id= "@+id/button1"Android:layout_width= "Wrap_content"Android:layout_height= "Wrap_content"Android:layout_alignright= "@+id/button2"Android:layout_below= "@+id/button2"Android:layout_margintop= "62DP"Android:text= "@string/play" /> <ButtonAndroid:id= "@+id/button2"Android:layout_width= "Wrap_content"Android:layout_height= "Wrap_content"Android:layout_alignparenttop= "true"Android:layout_centerhorizontal= "true"Android:layout_margintop= "84DP"Android:text= "@string/stop" /></Relativelayout>
Strings.xml
<?XML version= "1.0" encoding= "Utf-8"?><Resources> <stringname= "App_name">Soundrecord_demo</string> <stringname= "Action_settings">Settings</string> <stringname= "Play">Play</string> <stringname= "Stop">Stop</string></Resources>
Androidmanifest.xml
<?XML version= "1.0" encoding= "Utf-8"?><Manifestxmlns:android= "Http://schemas.android.com/apk/res/android" Package= "Com.example.soundrecord_demo"Android:versioncode= "1"Android:versionname= "1.0" > <USES-SDKandroid:minsdkversion= "8"android:targetsdkversion= "+" /> <ApplicationAndroid:allowbackup= "true"Android:icon= "@drawable/ic_launcher"Android:label= "@string/app_name"Android:theme= "@style/apptheme" > <ActivityAndroid:name= "Com.example.soundrecord_demo." Mainactivity "Android:label= "@string/app_name" > <Intent-filter> <ActionAndroid:name= "Android.intent.action.MAIN" /> <categoryAndroid:name= "Android.intent.category.LAUNCHER" /> </Intent-filter> </Activity> </Application> <!--Networking Permissions - <uses-permissionAndroid:name= "Android.permission.INTERNET" /> <!--Write Data permission to SDcard - <uses-permissionAndroid:name= "Android.permission.WRITE_EXTERNAL_STORAGE" /> <!--Recording Permissions - <uses-permissionAndroid:name= "Android.permission.RECORD_AUDIO" /> <!--Create and delete file permissions in SDcard - <uses-permissionAndroid:name= "Android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> </Manifest>
Android Simple example code for recording with Mediarecorder