使用MediaRecorder录制音频步骤:
创建MediaRecorder对象
调用MediaRecorder的setAudioSource()方法设置声音来源,一般传入MediaRecorder.AudioSource.MIC参数指定录制来自麦克风的声音
调用MediaRecorder对象的setOutputFormat()设置所录制的音频 文件的格式
调用MediaRecorder对象的setAudioEncoder() ,setAudioEncodingBitRate(int bitRate),setAudioSamplingRate(int samplingRate)设置所录制的声音的编码格式,编码位率,采
样率等,这些参数将可以控制所录制的声音的品质,文件的大小 ,一般来说品质越好,声音文件越大
调用MediaRecorder的setOutputFile(String path)方法设置 录制的音频文件的保存位置
调用MediaRecorder的prepare()方法准备录制
调用MediaRecorder对象的start()方法开始录制
录制完成,调用MediaRecorder对象的stop()方法停止录制,并调用release()方法释放资源
如下:
MediaRecorder recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(PATH_NAME);
recorder.prepare();
recorder.start(); // Recording is now started
...
recorder.stop();
recorder.reset(); // You can reuse the object by going back to setAudioSource() step
recorder.release(); // Now the object cannot be reused
例子程序:
Activity:
import java.io.File;
import android.app.Activity;
import android.media.MediaRecorder;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;
import android.widget.Toast;
public class RecordSound extends Activity
implements OnClickListener
{
// 定义界面上的两个按钮
ImageButton record, stop;
// 系统的音频文件
File soundFile;
MediaRecorder mRecorder;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 获取程序界面中的两个按钮
record = (ImageButton) findViewById(R.id.record);
stop = (ImageButton) findViewById(R.id.stop);
// 为两个按钮的单击事件绑定监听器
record.setOnClickListener(this);
stop.setOnClickListener(this);
}
@Override
public void onDestroy()
{
if (soundFile != null && soundFile.exists())
{
// 停止录音
mRecorder.stop();
// 释放资源
mRecorder.release();
mRecorder = null;
}
super.onDestroy();
}
@Override
public void onClick(View source)
{
switch (source.getId())
{
// 单击录音按钮
case R.id.record:
if (!Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED))
{
Toast.makeText(RecordSound.this, "SD卡不存在,请插入SD卡!",
Toast.LENGTH_SHORT).show();
return;
}
try
{
// 创建保存录音的音频文件
soundFile = new File(Environment
.getExternalStorageDirectory().getCanonicalFile()
+ "/sound.amr");
mRecorder = new MediaRecorder();
// 设置录音的声音来源
mRecorder.setAudioSource(MediaRecorder
.AudioSource.MIC);
// 设置录制的声音的输出格式(必须在设置声音编码格式之前设置)
mRecorder.setOutputFormat(MediaRecorder
.OutputFormat.THREE_GPP);
// 设置声音编码的格式
mRecorder.setAudioEncoder(MediaRecorder
.AudioEncoder.AMR_NB);
mRecorder.setOutputFile(soundFile.getAbsolutePath());
mRecorder.prepare();
// 开始录音
mRecorder.start(); //①
}
catch (Exception e)
{
e.printStackTrace();
}
break;
// 单击停止按钮
case R.id.stop:
if (soundFile != null && soundFile.exists())
{
// 停止录音
mRecorder.stop(); //②
// 释放资源
mRecorder.release(); //③
mRecorder = null;
}
break;
}
}
}
清单文件:
<!-- 授予该程序录制声音的权限 -->
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<!-- 授予该程序向外部存储器写入数据的权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
分享到:
相关推荐
为了在Android应用中录制音频,Android提供了MediaRecorder类,使用MediaRecorder录制音频的过程很简单,步骤如下: Step1:创建MediaRecorder对象; Step2:调用MediaRecorder对象的setAudioSource()方法设置声音...
资源里面有个JAVA文件,导入那个类,根据文档描述的去调用那个类,来实现在android上录制wav格式的录音
Android使用AudioRecord录制PCM音频、PCM转AAC、使用MediaRecorder直接录制AAC编码音频
一个简单的小录音demo,熟悉API使用,刚入坑可以参考,如果您是老鸟,不用下啊,下了也得不到想要的在这个Demo里。
android录制视频音频存储于sd卡并点击播放实例,使用MediaRecorder录制视频和音频实例,以列表形式显示并点击播放
Android AudioRecord和MediaRecorder录音并实现了实时获取音量大小 看代码就知道了
Android利用MediaRecorder录音
Android应用使用MediaRecorder类录制音频的例子。
Android录制通用mp3格式音频文件,觉得好用给好评哦
Android提供了MediaRecorder这一个类来实现视频和音频的录制。 由官方配图可知,MediaRecorder用于录制视频时需要调用一系列的API来设置和录制相关的配置,而且调用方法的顺序是固定的,必须按照这个顺序进行...
http://blog.csdn.net/wanli_smile/article/details/7715030 的代码!用MediaRecorder实现暂停断点录音功能
使用MediaRecorder简单实现视频的录制和音频的录制,代码中注释了比较容易出现的错误
简介:一款录音的APP,默认把媒体声音设置为60%,动态获取权限,Android10以及10以下,都 是手动... 技术:AudioRecord比MediaRecorder更接近底层,录制的音频是PCM格式的,最接近原始声音的音频数据,音频以.wav结尾
使用MediaRecorder录制视频与录制音频的步骤基本相同。只是录制视频时不仅需要采集声音,还需要采集图像。为了让MediaRecorder录制时采集图像,应该在调用setAudioSource(int audio_source)方法时再调用...
而Android系统的多媒体框架也为开发者提供了MediaRecorder类来实现视频录制功能。在使用MediaRecorder时我们要注意以下几点: 第一:无法使用模拟器进行测试,在使用MediaRecorder进行音视频录制时,需要用真机进行...
主要介绍了Android音频录制MediaRecorder之简易的录音软件实现代码,有需要的朋友可以参考一下
Android MediaRecorder示例 本示例使用摄像机/摄像机作为MediaRecorder API的A / V源。 TextureView用作相机预览,这将代码限制为API 14+。 可以很容易地用SurfaceView替换它以在较旧的设备上运行。 介绍 此示例显示...
主要介绍了Android App调用MediaRecorder实现录音功能的实例,MediaRecorder非常强大,不仅能够用来录制音频还可以录制视频,需要的朋友可以参考下