medalRecorder录制音频。
来源:互联网 发布:淘宝上的gucci是真的吗 编辑:程序博客网 时间:2024/05/29 14:17
使用medalRecorder录制音频。
为了在Android应用中录制音频,Android提供了MediaRecorder类。使用MediaRecorder录制音频过程很简单,
1、创建MediaRecorder对象
2、调用MediaRecorder对象的setAudioSource()方法设置声音来源,一般传入MediaRecorder.AudioSource.MIC参数指定录制来自麦克风的声音。
3、调用MediaRecorder对象的setOutputFormat()设置所录制的音频文件格式。
4、调用MediaRecorder对象的setAudioEncoder()、setAudioEncodingBitRate(int bitRate)setAudioSamplingRate(int samplingRate)设置所录制的声音的编码格式、编码位率、采样率,这些参数将可以控制所录制的声音的品质和文件的大小,一般来说,声音品质越好,声音文件越大。
5、调用MediaRecorder的setOutputFile(String path)方法设置录制的音频文件的保存位置。
6、调用MediaRecorder的prepare()方法准备录制。
7、调用MediaRecorder对象的start()方法开始录制。
特别提醒,,3、4两个步骤千万不能搞反。否则程序将会抛出IllegalState Exception异常。
代码如下:
package com.example.mediarecorderdome.mediarecorderdome;
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;
import java.io.File;
public class MainActivity 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()
{
super.onDestroy();
if (soundFile != null && soundFile.exists())
{
// 停止录音
mRecorder.stop();
// 释放资源
mRecorder.release();
mRecorder = null;
}
}
@Override
public void onClick(View source)
{
switch (source.getId())
{
// 单击录音按钮
case R.id.record:
if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
Toast.makeText(MainActivity.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;
}
}
}
Dome下载地址:http://download.csdn.net/detail/bobo8945510/9611355
- medalRecorder录制音频。
- medalRecorder录制音频。
- 音频录制
- 音频录制
- 录制音频
- 录制音频
- 音频录制
- 录制音频
- 录制音频和播放音频
- 音频录制和播放
- Android录制音频
- ios 录制音频
- 音频录制之AVAudioRecorder
- android 音频录制
- Android 录制音频示例
- Android MediaRecorder录制音频
- 音频录制之AVAudioRecorder
- 使用MediaRecorder录制音频
- WEB前端之HTML5[5]~HTML5增强的页面元素
- lintcode,子树
- Java学习之运算符、表达式
- 项目 1 - 验证算法之(3)冒泡排序
- 51nod 1087 1 10 100 1000【递推】
- medalRecorder录制音频。
- 【Unity】扒一扒Profiler中这几个“占坑鬼”
- HDU 1253 胜利大逃亡(BFS)
- AS项目转到eclipse中方法(好用的方法)
- structs2 项目开发总结
- intellij idea 部署项目
- 揭秘AngularJS工作原理
- Struts2的值栈理解---ValueStack
- Dialog弹出框(系统自带)