mediarecoder 安卓_android中使用MediaRecoder录制声音

packagecom.test.mediarecorder;importjava.io.File;importandroid.media.MediaRecorder;importandroid.os.Bundle;importandroid.os.Environment;importandroid.app.Activity;importandroid.view.Menu;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.widget.Button;importandroid.widget.Toast;public class MainActivity extends Activity implementsOnClickListener {privateButton start, stop;privateMediaRecorder recorder;privateFile soundFile;protected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);

setContentView(R.layout.main);

start=(Button) findViewById(R.id.start);

stop=(Button) findViewById(R.id.stop);

start.setOnClickListener(this);

stop.setOnClickListener(this);

recorder= newMediaRecorder();

System.out.println(Environment.getExternalStorageDirectory());

}

@Overridepublic voidonClick(View v) {try{switch(v.getId()) {caseR.id.start:if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {

Toast.makeText(this, "SD not exists", Toast.LENGTH_LONG).show();return;

}//create file to save sound

soundFile = new File(Environment.getExternalStorageDirectory().getCanonicalFile() + "/sound.amr");//set the sound source

recorder.setAudioSource(MediaRecorder.AudioSource.MIC);//set the sound output type it must before set sound encoding

recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);//set sound encoding

recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);

recorder.setOutputFile(soundFile.getAbsolutePath());

recorder.prepare();//start record sound

recorder.start();break;caseR.id.stop:if (soundFile != null &&soundFile.exists()) {//stop record

recorder.stop();

recorder.release();

recorder= null;

}break;

}

}catch(Exception e) {

e.printStackTrace();

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值