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

 更新时间:2015年06月26日 09:45:32   作者:RobinTang  
这篇文章主要介绍了Android实现直接播放麦克风采集到的声音,涉及Android音频操作的相关技巧,需要的朋友可以参考下

本文实例讲述了Android实现直接播放麦克风采集到的声音。分享给大家供大家参考。具体如下:

这是一个直接播放麦克风采集到的声音线程类:

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"/>

希望本文所述对大家的Android程序设计有所帮助。

相关文章

  • android命令行模拟输入事件(文字、按键、触摸等)

    android命令行模拟输入事件(文字、按键、触摸等)

    这篇文章主要给大家介绍了关于android命令行模拟输入事件,例如文字、按键、触摸等的相关资料,文中通过示例代码介绍的非常详细,对各位android开发者们具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • jenkins 远程构建Android的过程详解

    jenkins 远程构建Android的过程详解

    这篇文章主要介绍了jenkins 远程构建Android的过程详解的相关资料,需要的朋友可以参考下
    2016-09-09
  • 一款适用于Android平台的俄罗斯方块

    一款适用于Android平台的俄罗斯方块

    这篇文章主要为大家详细介绍了一款适用于Android平台的俄罗斯方块,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • Android(2.2/2.3系统)Gallery解决默认和横竖屏切换选中状态问题

    Android(2.2/2.3系统)Gallery解决默认和横竖屏切换选中状态问题

    本文主要介绍Android Gallery,在Android开发过程中肯定会遇到版本不同,在开发过程中需要调整的,这里针对Android(2.2/2.3系统版本) Gallery解决默认和横竖屏切换选中状态问题
    2016-07-07
  • Android 加载GIF图最佳实践方案

    Android 加载GIF图最佳实践方案

    最近在项目中遇到需要在界面上显示一个本地的 GIF 图的功能,下面通过本文给大家分享Android 加载GIF图最佳实践方案,需要的朋友参考下吧
    2017-08-08
  • Andriod Service与Thread的区别介绍

    Andriod Service与Thread的区别介绍

    我们要明确Service是运行在主线程的,不能有耗时操作,这样,在Service中处理耗时操作的时候,我们依然需要使用线程来处理,既然在Service里也要创建一个子线程,那为什么不直接在Activity里创建呢,下面通过本文给大家介绍Andriod Service与Thread的区别,一起看看吧
    2017-04-04
  • Android流式布局FlowLayout详解

    Android流式布局FlowLayout详解

    这篇文章主要为大家详细介绍了Android流式布局FlowLayout的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • Android中的HOOK技术是什么

    Android中的HOOK技术是什么

    最近一段时间在研究Android加壳和脱壳技术,其中涉及到了一些hook技术,于是将自己学习的一些hook技术进行了一下梳理,以便后面回顾和大家学习
    2023-02-02
  • Android开发笔记之:Dialog的使用详解

    Android开发笔记之:Dialog的使用详解

    本篇文章是对Android中Dialog的使用进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • Android全面屏适配方法详解

    Android全面屏适配方法详解

    Apple一直在引领设计的潮流,自从 iPhone X 发布之后,各种异形屏、刘海屏也都出来,下面这篇文章主要给大家分享介绍了关于Android全面屏与异形(刘海)屏的适配教程,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-11-11

最新评论