android录音这是也是很平常的一件事 特别是那种社交app用的多
接下来就说一个dome 算是复习了把
先看下录音的架构图把

我想上面的图应该可以看懂把
我先说下我做的app的效果图把

点击停止会保存到sd卡上

直接看java代码把
public class MainActivity extends Activity {
private TextView tv;
private MediaRecorder mr;
private Timer timer;
private TimerTask task;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = (TextView) findViewById(R.id.tv);
mr = new MediaRecorder();
timer = new Timer();
task = new TimerTask() {
@Override
public void run() {
//使用handler
handler.sendEmptyMessage(0);
}
};
}
int t = 0;
//使用 Handler 修改进度
Handler handler = new Handler(){
public void handleMessage(android.os.Message msg) {
switch (msg.what) {
case 0:
//更新时间
tv.setText("录音的时间: "+(t++));
break;
}
};
};
public void l(View v){
try {
//设置音频资源 麦克风
mr.setAudioSource(AudioSource.MIC);
//设置输出格式
mr.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
//设置录音格式
mr.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
//设置输出路径
mr.setOutputFile("/mnt/sdcard/ab.mp3");
//准备
mr.prepare();
//开始
mr.start();
//更新进度
timer.schedule(task, 0, 1000);
} catch (Exception e) {
e.printStackTrace();
}
}
public void t(View v){
//
mr.stop();
mr.reset();
mr.release();
//
timer.cancel();
Toast.makeText(this, "录音文件保存成功", 1000).show();
}
}
这里需要注意的是 需要加入权限
<uses-permission android:name="android.permission.RECORD_AUDIO"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
浙公网安备 33010602011771号