zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

Android简单的利用MediaRecorder进行录音的实例代码

Android实例代码 简单 利用 进行 录音
2023-06-13 09:15:04 时间

复制代码代码如下:


packagecom.ppmeet; 

importjava.io.IOException; 

importandroid.app.Activity; 
importandroid.graphics.PixelFormat; 
importandroid.media.MediaRecorder; 
importandroid.os.Bundle; 
importandroid.view.View; 
importandroid.view.View.OnClickListener; 
importandroid.view.Window; 
importandroid.view.WindowManager; 
importandroid.widget.Button; 

/**
 *classname:TestBasicAudio<BR>
 *classdescription:BasicRecordAudioDemo<BR>
 * 
 *@version1.002011/12/01
 *@authorCODYY)peijiangping
 */ 
publicclassTestBasicAudioextendsActivity{ 
   privateButtonbutton_start; 
   privateButtonbutton_stop; 
   privateMediaRecorderrecorder; 

   publicvoidonCreate(BundlesavedInstanceState){ 
       super.onCreate(savedInstanceState); 
       getWindow().setFormat(PixelFormat.TRANSLUCENT);//让界面横屏 
       requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉界面标题 
       getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
               WindowManager.LayoutParams.FLAG_FULLSCREEN); 
       //重新设置界面大小 
       setContentView(R.layout.main); 
       init(); 
   } 

   privatevoidinit(){ 
       button_start=(Button)this.findViewById(R.id.start); 
       button_stop=(Button)this.findViewById(R.id.stop); 
       button_stop.setOnClickListener(newAudioListerner()); 
       button_start.setOnClickListener(newAudioListerner()); 
   } 

   classAudioListernerimplementsOnClickListener{ 
       @Override 
       publicvoidonClick(Viewv){ 
           if(v==button_start){ 
               initializeAudio(); 
           } 
           if(v==button_stop){ 
               recorder.stop();//停止刻录 
               //recorder.reset();//重新启动MediaRecorder. 
               recorder.release();//刻录完成一定要释放资源 
               //recorder=null; 
           } 
       } 

       privatevoidinitializeAudio(){ 
           recorder=newMediaRecorder();//new出MediaRecorder对象 
           recorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
           //设置MediaRecorder的音频源为麦克风 
           recorder.setOutputFormat(MediaRecorder.OutputFormat.RAW_AMR); 
           //设置MediaRecorder录制的音频格式 
           recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); 
           //设置MediaRecorder录制音频的编码为amr. 
           recorder.setOutputFile("/sdcard/peipei.amr"); 
           //设置录制好的音频文件保存路径 
           try{ 
               recorder.prepare();//准备录制 
               recorder.start();//开始录制 
           }catch(IllegalStateExceptione){ 
               e.printStackTrace(); 
           }catch(IOExceptione){ 
               e.printStackTrace(); 
           } 

       } 
   } 

AndroidMainfest.xml

复制代码代码如下:

<?xmlversion="1.0"encoding="utf-8"?> 
<manifestxmlns:android="http://schemas.android.com/apk/res/android" 
   package="com.ppmeet" 
   android:versionCode="1" 
   android:versionName="1.0"> 

   <uses-sdkandroid:minSdkVersion="8"/> 

   <application 
       android:icon="@drawable/ic_launcher" 
       android:label="@string/app_name"> 
       <activity 
           android:name=".TestBasicAudio" 
           android:screenOrientation="landscape"> 
           <intent-filter> 
               <actionandroid:name="android.intent.action.MAIN"/> 

               <categoryandroid:name="android.intent.category.LAUNCHER"/> 
           </intent-filter> 
       </activity> 
   </application> 
   <!--联网权限--> 
   <uses-permissionandroid:name="android.permission.INTERNET"/> 
   <!--往SDCard写入数据权限--> 
   <uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
   <!--录音权限--> 
   <uses-permissionandroid:name="android.permission.RECORD_AUDIO"/> 
   <!--在SDCard中创建与删除文件权限--> 
   <uses-permissionandroid:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> 

</manifest>