首页 > 系统 > Android > 正文

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

2020-04-11 11:29:32
字体:
来源:转载
供稿:网友

本文实例讲述了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; @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程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表