简单录音机

来源:互联网 发布:淘宝店家花呗开通不了 编辑:程序博客网 时间:2024/05/16 19:18

一个非常简单的录音机

有四个功能:

开始录音,结束录音,播放录音,结束播放

需要添加权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.RECORD_AUDIO" /><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>

代码很简单没什么好讲解的,直接贴吧

就当做以后要用不用到处乱找:

package com.example.recorddemo;import java.io.File;import java.io.IOException;import android.media.MediaPlayer;import android.media.MediaRecorder;import android.os.Bundle;import android.os.Environment;import android.app.Activity;import android.util.Log;import android.view.Menu;import android.view.View;import android.widget.Button;public class MainActivity extends Activity {private static final String LOG_TAG = "recorderdemo";private MediaRecorder mediaRecorder = null;private MediaPlayer mediaPlayer = null;private boolean bStart;private String filename="";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);bStart = false;File sdir = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/gaga");if(!sdir.exists()){sdir.mkdirs();}filename = Environment.getExternalStorageDirectory().getAbsolutePath() + "/gaga/jctest.3gp";        findViewById(R.id.button1).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubstartRec();}});findViewById(R.id.button2).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubstopRec();}});findViewById(R.id.button3).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubstartPlay();}});findViewById(R.id.button4).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubstopPlay();}});}private void init(){this.mediaRecorder = new MediaRecorder();}private void startPlay(){stopPlay();try{this.mediaPlayer = new MediaPlayer();this.mediaPlayer.setDataSource(filename);mediaPlayer.prepare();mediaPlayer.start();}catch(IOException e){Log.e(LOG_TAG, "start mediaplayer error");}}private void stopPlay(){if(mediaPlayer != null){mediaPlayer.release();mediaPlayer = null;}}private void startRec(){stopRec();mediaRecorder = new MediaRecorder();mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);mediaRecorder.setOutputFile(filename);mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);try{mediaRecorder.prepare();}catch(IOException e){Log.e(LOG_TAG, "start rec preprare error");e.printStackTrace();}mediaRecorder.start();}private void stopRec(){if(mediaRecorder == null) return;mediaRecorder.stop();mediaRecorder.release();mediaRecorder = null;}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}


原创粉丝点击