html5中文学习网

您的位置: 首页 > android » 正文

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

[ ] 已经帮助:人解决问题

本文实例讲述了Android实现直接播放麦克风采集到的声音。分享给大家供大家参考。具体如下:Y7gHTML5中文学习网 - HTML5先行者学习网

这是一个直接播放麦克风采集到的声音线程类:Y7gHTML5中文学习网 - HTML5先行者学习网

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

使用的时候,这样就行:Y7gHTML5中文学习网 - HTML5先行者学习网

复制代码 代码如下:
RecordThread rec = new RecordThread();  Y7gHTML5中文学习网 - HTML5先行者学习网
rec.start();
Y7gHTML5中文学习网 - HTML5先行者学习网

需要在AndroidManifest.xml文件中添加路由权限:Y7gHTML5中文学习网 - HTML5先行者学习网

复制代码 代码如下:
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
Y7gHTML5中文学习网 - HTML5先行者学习网

希望本文所述对大家的Android程序设计有所帮助。Y7gHTML5中文学习网 - HTML5先行者学习网

(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助