Android直接播放麦克风采集到的声音

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

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;@Overridepublic void run() {// TODO Auto-generated method stubint 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直接播放麦克风采集到的声音

相关文章:

你感兴趣的文章:

标签云: