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

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

Android直接播放麦克风采集到的声音_android 调用麦克风获取语音流-CSDN博客

复制代码
 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(); 

<uses-permission android:name="android.permission.RECORD_AUDIO"/>  
相关推荐
大锅盖119 分钟前
HarmonyOS 6.1.1 ArkWeb:交付门户下载资料前-为什么必须先登记下载代理与来源字段
android·华为·harmonyos
峥嵘life9 小时前
Android16 311Y3 EAP-TLS 网络连接失败分析与修复总结
android·开发语言·人工智能·php
Kapaseker10 小时前
破坏性更新 - 解读 Jetpack Compose 1.12
android·kotlin
雨白10 小时前
我的 UML 学习笔记:结合 Android 实例看懂 4 种常用图表
android·架构
怣疯knight10 小时前
快速判断apk有没有支持16kb页面标准
android
风流 少年11 小时前
Spring AI 2.0:Advisor
android·人工智能·spring
YM52e13 小时前
分页查询的基石:ArkTS 为鸿蒙商品列表设计 LIMIT/OFFSET 的表
android·学习·华为·harmonyos
安卓与AI研习社14 小时前
Android ANR 到底怎么定位?从触发原理到日志判断的完整方法
android
阿pin16 小时前
Android随笔-MVI
android·mvi
leobertlan17 小时前
【好玩系列】训练一个神经网络指导小孩玩游戏
android·机器学习·程序员