加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Android简单的借助MediaRecorder进行录音

发布时间:2021-11-24 19:32:35 所属栏目:教程 来源:互联网
导读:MediaRecorder可以进行简单的录音,由于操作简单所以可以用来进行基本的录音。 下面提供一个简单的例子,记得在Mainfest文件中添加权限。 代码如下: package com.ppmeet; import java.io.IOException; import Android.app.Activity; import android.graphic

MediaRecorder可以进行简单的录音,由于操作简单所以可以用来进行基本的录音。
 
下面提供一个简单的例子,记得在Mainfest文件中添加权限。
 
代码如下:
 
package com.ppmeet;  
  
import java.io.IOException;  
  
import Android.app.Activity;  
import android.graphics.PixelFormat;  
import android.media.MediaRecorder;  
import android.os.Bundle;  
import android.view.View;  
import android.view.View.OnClickListener;  
import android.view.Window;  
import android.view.WindowManager;  
import android.widget.Button;  
  
/**
 * class name:TestBasicAudio<BR>
 * class description:Basic Record Audio Demo<BR>
 *  
 * @version 1.00 2011/12/01
 * @author CODYY)peijiangping
 */  
public class TestBasicAudio extends Activity {  
    private Button button_start;  
    private Button button_stop;  
    private MediaRecorder recorder;  
  
    public void onCreate(Bundle savedInstanceState) {  
        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();  
    }  
  
    private void init() {  
        button_start = (Button) this.findViewById(R.id.start);  
        button_stop = (Button) this.findViewById(R.id.stop);  
        button_stop.setOnClickListener(new AudioListerner());  
        button_start.setOnClickListener(new AudioListerner());  
    }  
  
    class AudioListerner implements OnClickListener {  
        @Override  
        public void onClick(View v) {  
            if (v == button_start) {  
                initializeAudio();  
            }  
            if (v == button_stop) {  
                recorder.stop();// 停止刻录   
                // recorder.reset(); // 重新启动MediaRecorder.   
                recorder.release(); // 刻录完成一定要释放资源   
                // recorder = null;   
            }  
        }  
  
        private void initializeAudio() {  
            recorder = new MediaRecorder();// new出MediaRecorder对象   
            recorder.setAudioSource(MediaRecorder.AudioSource.MIC);  
            // 设置MediaRecorder的音��源为麦克风   
            recorder.setOutputFormat(MediaRecorder.OutputFormat.RAW_AMR);  
            // 设置MediaRecorder录制的音频格式   
            recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);  
            // 设置MediaRecorder录制音频的编码为amr.貌似android就支持amr编码。   
            recorder.setOutputFile("/sdcard/peipei.amr");  
            // 设置录制好的音频文件保存路径   
            try {  
                recorder.prepare();// 准备录制   
                recorder.start();// 开始录制   
            } catch (IllegalStateException e) {  
                e.printStackTrace();  
            } catch (IOException e) {  
                e.printStackTrace();  
            }  
  
        }  
    }  
}  
AndroidMainfest.xml
<?xml version="1.0" encoding="utf-8"?>  
<manifest xmlns:android="http://schemas.android.com/apk/res/android"  
    package="com.ppmeet"  
    android:versionCode="1"  
    android:versionName="1.0" >  
  
    <uses-sdk android:minSdkVersion="8" />  
  
    <application  
        android:icon="@drawable/ic_launcher"  
        android:label="@string/app_name" >  
        <activity  
            android:name=".TestBasicAudio"  
            android:screenOrientation="landscape" >  
            <intent-filter >  
                <action android:name="android.intent.action.MAIN" />  
  
                <category android:name="android.intent.category.LAUNCHER" />  
            </intent-filter>  
        </activity>  
    </application>  
    <!-- 联网权限 -->  
    <uses-permission android:name="android.permission.INTERNET" />  
    <!-- 往SDCard写入数据权限 -->  
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />  
    <!-- 录音权限 -->  
    <uses-permission android:name="android.permission.RECORD_AUDIO" />  
    <!-- 在SDCard中创建与删除文件权限 -->  
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />  
  
</manifest>  

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读