This example describes the Android implementation that directly plays the sound captured by the microphone. Share to everyone for your reference. Specifically as follows:
 
This is a direct playback microphone captured by the voice thread class:
 
 
 
Class Recordthread extends thread{static final int frequency = 44100; 
  static final int channelconfiguration = Audioformat.channel_configuration_mono; 
static final int audioencoding = Audioformat.encoding_pcm_16bit; @Override public void Run () {//TODO auto-generated method stub int recbufsize = Audiorecord.getminbuffersize (freq 
  Uency, Channelconfiguration, audioencoding) *2; 
  int plybufsize = audiotrack.getminbuffersize (Frequency, channelconfiguration, audioencoding) *2; Audiorecord Audiorecord = new Audiorecord (MediaRecorder.AudioSource.MIC, frequency, channelconfiguration, 
  Audioencoding, recbufsize); Audiotrack audiotrack = new Audiotrack (audiomanager.stream_music, Frequency, channelconfiguration, audioEncoding, 
  Plybufsize, Audiotrack.mode_stream); 
  byte[] Recbuf = new Byte[recbufsize]; 
  Audiorecord.startrecording (); 
  Audiotrack.play (); 
    while (true) {int readlen = Audiorecord.read (recbuf, 0, recbufsize); Audiotrack.write (recbuf, 0, Readlen); 
  } audiotrack.stop (); 
  Audiorecord.stop (); 
 } 
} 
  
When used, this is OK:
 
 
  
  Copy Code code as follows: 
 
 
  
 
 
   Recordthread rec = new Recordthread (); 
  
Rec.start (); 
 
 
  
 
You need to add routing permissions to the Androidmanifest.xml file:
 
 
  
  Copy Code code as follows: 
 
 
  
 
 
   <uses-permission android:name= "Android.permission.RECORD_AUDIO"/> 
 
 
  
 
I hope this article will help you with your Android program.