Android简单的利用MediaRecorder进行录音
16lz
2021-01-26
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 {@Overridepublic 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.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>
更多相关文章
- MTK(Android(安卓)N)设置SDCard为默认存储
- Anroid使用DefaultHttpClient访问Wap网络
- android 5.0 以上获取栈顶应用包名以及程序锁的实现
- 从内存卡读取xml文件到内存,写入xml到sd卡
- Android中Paint字体属性的一些设置
- Android(安卓)Studio常用功能配置,让开发更高效(一)
- Fragment中跨线程调用控件的问题
- Android下使用Logcat打印信息
- Android设置虚线、圆角、渐变