首页 > 代码库 > android麦克风自录自放demo

android麦克风自录自放demo

extends:http://blog.csdn.net/trbbadboy/article/details/7865530

是一个直接播放麦克风采集到的声音线程类:

  

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

 

 

使用的时候,这样就行:

  

RecordThread rec = new RecordThread();  rec.start();  

 

需要在AndroidManifest.xml文件中添加路由权限:

   

<uses-permission android:name="android.permission.RECORD_AUDIO"/>  

 

android麦克风自录自放demo