安卓音频录制

3

我想了解如何在Android中使用AudioRecord功能录制并回放声音,而不是使用MediaRecorder。

请提供示例代码或URL。提前感谢。

1个回答

6

我认为您可以通过使用以下原型代码来开始

import android.media.AudioFormat; 
import android.media.AudioRecord; 
import android.media.MediaRecorder; 
import android.util.Log; 
public class AudioListener { 
  public static final int DEFAULT_SAMPLE_RATE = 8000; 
  private static final int DEFAULT_BUFFER_SIZE = 4096; 
  private static final int CALLBACK_PERIOD = 4000;  // 500 msec (sample rate / callback   //period) 
  private final AudioRecord recorder; 
  public AudioListener() { 
    this(DEFAULT_SAMPLE_RATE); 
  } 
  private AudioListener(int sampleRate) { 
    recorder = new AudioRecord(MediaRecorder.AudioSource.DEFAULT, 
        sampleRate, AudioFormat.CHANNEL_CONFIGURATION_DEFAULT, 
        AudioFormat.ENCODING_DEFAULT, DEFAULT_BUFFER_SIZE); 
  } 
  public void start() { 
    recorder.setPositionNotificationPeriod(CALLBACK_PERIOD); 
    recorder.setRecordPositionUpdateListener(new 
AudioRecord.OnRecordPositionUpdateListener() { 
      @Override 
      public void onMarkerReached(AudioRecord recorder) { 
        Log.e(this.getClass().getSimpleName(), "onMarkerReached 
Called"); 
      } 
      @Override 
      public void onPeriodicNotification(AudioRecord recorder) { 
        Log.e(this.getClass().getSimpleName(), "onPeriodicNotification 
Called"); 
      } 
    }); 
    recorder.startRecording(); 
  } 

1
谢谢您提供这段代码。能否请您将此代码与一个活动一起发布? - Android Prasath

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接