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

本文介绍了一个用于实时采集并播放麦克风声音的Java线程类。该类通过AudioRecord和AudioTrack API实现声音采集与播放,适用于Android平台。为了运行此程序,需要在AndroidManifest.xml中添加录音权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

[java]  view plain copy print ?
  1.   class RecordThread extends Thread{  
  2.     static final int frequency = 44100;  
  3.     static final int channelConfiguration = AudioFormat.CHANNEL_CONFIGURATION_MONO;  
  4.     static final int audioEncoding = AudioFormat.ENCODING_PCM_16BIT;  
  5. @Override  
  6. public void run() {  
  7.     // TODO Auto-generated method stub  
  8.     int recBufSize = AudioRecord.getMinBufferSize(frequency,  
  9.             channelConfiguration, audioEncoding)*2;  
  10.     int plyBufSize = AudioTrack.getMinBufferSize(frequency,  
  11.             channelConfiguration, audioEncoding)*2;  
  12.       
  13.     AudioRecord audioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC, frequency,  
  14.             channelConfiguration, audioEncoding, recBufSize);  
  15.   
  16.     AudioTrack audioTrack = new AudioTrack(AudioManager.STREAM_MUSIC, frequency,  
  17.             channelConfiguration, audioEncoding, plyBufSize, AudioTrack.MODE_STREAM);  
  18.       
  19.     byte[] recBuf = new byte[recBufSize];  
  20.     audioRecord.startRecording();  
  21.     audioTrack.play();  
  22.     while(true){  
  23.         int readLen = audioRecord.read(recBuf, 0, recBufSize);  
  24.         audioTrack.write(recBuf, 0, readLen);  
  25.     }  
  26.     audioTrack.stop();  
  27.     audioRecord.stop();  
  28. }  
  29.   }  

使用的时候,这样就行:

[java]  view plain copy print ?
  1. RecordThread rec = new RecordThread();  
  2. rec.start();  

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

[html]  view plain copy print ?
  1. <uses-permission android:name="android.permission.RECORD_AUDIO"/>  

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值