• 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"/>  
  • 相关阅读:
    学习笔记之Linux开发(C语言)
    Shell脚本文件操作
    学习笔记之Shell脚本的输出重定向
    学习笔记之正则表达式 (Regular Expressions)
    学习笔记之#pragma
    eclipse启动不了报错java was started but returned exit code=13
    学习笔记之APACHE ANT
    学习笔记之Linux / Shell
    学习笔记之DB2 9 Fundamentals 730
    windows远程关机重启
  • 原文地址:https://www.cnblogs.com/niray/p/4251409.html
Copyright © 2020-2023  润新知