zoukankan      html  css  js  c++  java
  • 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"/>  
  • 相关阅读:
    移动app测试
    centos7中tomcat安装步骤
    linux下搭建数据库
    Linux 学习笔记
    vi编辑器 使用表
    python-Xml 实战
    python-Excel 实战
    手写HashMap
    volatile关键字解析
    两个栈实现队列——优化版
  • 原文地址:https://www.cnblogs.com/niray/p/4251409.html
Copyright © 2011-2022 走看看