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"/>  
  • 相关阅读:
    Hadoop2.x集群动态添加删除数据节点
    HDFS中块状态分析
    procedure of object(一个特殊的指针类型)
    设计模式导语一
    Delphi中的容器类(二)
    让AlphaControls改变DevExpress皮肤
    Delphi中的容器类(一)
    Delphi 的RTTI机制浅探
    重写AuthorizeAttribute实现自己的权限验证
    含有HttpContext元素的单元测试
  • 原文地址:https://www.cnblogs.com/niray/p/4251409.html
Copyright © 2011-2022 走看看