wang_peng1 发表于 2013-2-7 09:07:28

录音效果

import java.io.File;import java.io.IOException;import android.media.MediaRecorder;import android.os.Environment;/** * @author <a href="http://www.benmccann.com">Ben McCann</a> */public class AudioRecorder {final MediaRecorder recorder = new MediaRecorder();final String path;/**   * Creates a new audio recording at the given path (relative to root of SD card).   */public AudioRecorder(String path) {    this.path = sanitizePath(path);}private String sanitizePath(String path) {    if (!path.startsWith("/")) {      path = "/" + path;    }    if (!path.contains(".")) {      path += ".3gp";    }    return Environment.getExternalStorageDirectory().getAbsolutePath() + path;}/**   * Starts a new recording.   */public void start() throws IOException {    String state = android.os.Environment.getExternalStorageState();    if(!state.equals(android.os.Environment.MEDIA_MOUNTED)){      throw new IOException("SD Card is not mounted.It is " + state + ".");    }    // make sure the directory we plan to store the recording in exists    File directory = new File(path).getParentFile();    if (!directory.exists() && !directory.mkdirs()) {      throw new IOException("Path to file could not be created.");    }    recorder.setAudioSource(MediaRecorder.AudioSource.MIC);    recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);    recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);    recorder.setOutputFile(path);    recorder.prepare();    recorder.start();}/**   * Stops a recording that has been previously started.   */public void stop() throws IOException {    recorder.stop();    recorder.release();}} 
页: [1]
查看完整版本: 录音效果