如何采用Android 1.5我录音? [英] How do I record audio using Android 1.5?

查看:168
本文介绍了如何采用Android 1.5我录音?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何使用Android的我记录一些声音?

解决方案

 包com.benmccann.android.hello;

进口的java.io.File;
进口java.io.IOException异常;

进口android.media.MediaRecorder;
进口android.os.Environment;

/ **
 * @author&所述; A HREF =htt​​p://www.benmccann.com>奔麦肯&所述; / a取代;
 * /
公共类AudioRecorder {

  最后MediaRecorder记录=新MediaRecorder();
  最后弦乐路径;

  / **
   *创建在给定路径中的新录音(相对于SD卡的根目录)。
   * /
  公共AudioRecorder(字符串路径){
    this.path = sanitizePath(路径);
  }

  私人字符串sanitizePath(字符串路径){
    如果(!path.startsWith(/)){
      路径=/+路径;
    }
    如果(!path.contains(。)){
      路径+ =名为.3gp;
    }
    返回Environment.getExternalStorageDirectory()getAbsolutePath()+路径。
  }

  / **
   *开始一个新的记录。
   * /
  公共无效启动()抛出IOException异常{
    字符串状态= android.os.Environment.getExternalStorageState();
    如果(!state.equals(android.os.Environment.MEDIA_MOUNTED)){
        抛出新的IOException异常(SD卡未安装它。+ +的状态。);
    }

    //确保目录,我们计划在用来存放记录
    文件目录=新的文件(路径).getParentFile();
    如果(directory.exists()及!&安培;!directory.mkdirs()){
      抛出新的IOException异常(路径文件无法被创建。);
    }

    recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
    recorder.setAudioEn codeR(MediaRecorder.AudioEn coder.AMR_NB);
    recorder.setOutputFile(路径);
    。录音机prepare();
    recorder.start();
  }

  / **
   *停止已previously开始录音。
   * /
  公共无效停止()抛出IOException异常{
    recorder.stop();
    recorder.release();
  }
}
 

http://www.benmccann.com/dev-博客/ Android的音频录音的教程/

How do I record some audio using Android?

解决方案

package com.benmccann.android.hello;

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();
  }
}

From http://www.benmccann.com/dev-blog/android-audio-recording-tutorial/

这篇关于如何采用Android 1.5我录音?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆