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实现mp3播放器、android 实现在线播放、android 实现倍速播放,以便于您获取更多的相关知识。

时间: 2024-09-27 01:04:18

Android实现直接播放麦克风采集到的声音_Android的相关文章

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

本文实例讲述了Android实现直接播放麦克风采集到的声音.分享给大家供大家参考.具体如下: 这是一个直接播放麦克风采集到的声音线程类: class RecordThread extends Thread{ static final int frequency = 44100; static final int channelConfiguration = AudioFormat.CHANNEL_CONFIGURATION_MONO; static final int audioEncoding

麦克风采集与播放 (源码)

在网络聊天系统中,采集麦克风的声音并将其播放出来,是最基础的模块之一.本文我们就介绍如何快速地实现这个基础模块. 一. 基础知识 有几个与声音采集和播放相关的专业术语必须要先了解一下,否则,后面的介绍将无法展开.语音采集指的是从麦克风采集音频数据,即声音样本转换成数字信号.其涉及到几个重要的参数:采样率.采样位数.声道数. 简单的来说:        采样率:即采样频率,就是在1秒内进行采集动作的次数.        采样位数:又叫采样深度,就是每次采集动作得到的数据长度,即使用多少个bit来记

在android中用surfaceview播放视频时,实现未播放的预览效果?

问题描述 在android中用surfaceview播放视频时,实现未播放的预览效果? 在android中用surfaceview播放视频时,如何在surfaceview的出现时就加载视频的第一帧,实现未播放的预览效果? 类似于图的那种效果,谁有什么解决方法吗? 解决方案 http://download.csdn.net/detail/ohbxiaoxin/8320741 两个控件叠加,至于预览的图片,需要事先从视频中提取出来.

android音乐播放器-Android关于音乐播放器频谱可视化图形的问题,急!

问题描述 Android关于音乐播放器频谱可视化图形的问题,急! 如上图,底部频谱可视化图形不会动了,不知道是什么原因造成的.首先我说下我目前知道的可能造成这种情况的事情.因为我的这个播放器里的播放列表这一项,要同步android系统媒体库里的播放列表.也就是说在系统的播放器中的播放列表会出现在我的播放器的播放列表中.本来我的包名是这样的:com.music.musicmenu 这样就不会出现上述问题,当我把包名改成系统的com.android.music 这时就会出现上述问题.也就是频谱不会动

Android简单音乐播放实例_Android

Service翻译成中文是服务,熟悉Windows 系统的同学一定很熟悉了.Android里的Service跟Windows里的Service功能差不多,就是一个不可见的进程在后台执行. Android中的服务,它与Activity不同,它是不能与用户交互的,不能自己启动的,运行在后台的程序,如果我们退出应用时,Service进程并没有结束,它仍然在后台运行,例如我们打开一个音乐播放器来听音乐,在听音乐的同时也想做下其它的事情,比如上网聊Q.或者上网浏览新闻之类的事情.这样的话,我们就需要用到S

jamendo_android 一个开源的Android在线音乐播放器实例

一个开源的Android在线音乐播放器实例.整套源码主要实现了专辑浏览,音乐在线播放,下载等等.虽说看起来功能不多,但是绝对十分具有参考价值,考虑的十分严谨.因为里面应用了网络通讯,json解析,全局mediaservice,自定义View组件,自定义 Adapter,application全局缓存,变量等等,所有要在项目中考虑到的优化问题. 项目主页:http://www.open-open.com/lib/view/home/1344734233116

android中如何将视频采集到缓冲区中

问题描述 android中如何将视频采集到缓冲区中 我打算先通过摄像头将视频采集到缓冲中,然后再从缓冲中读取数据 解决方案 视频采集这块的 我记得自己有demo

android mediaplayer能播放什么格式的文件

问题描述 android mediaplayer能播放什么格式的文件 mediaplayer能播放什么格式的文件,还有如果要播放其他格式的文件需要怎么做? 解决方案 Video H.263 X X 3GPP (.3gp) and MPEG-4 (.mp4) H.264 AVC X 3GPP (.3gp) and MPEG-4 (.mp4) MPEG-4 SP X 3GPP (.3gp) 官方公布的 解决方案二: 为什么我播放MP4格式不行呢,是不是要设置什么参数啊 解决方案三: http://d

android做音乐播放器,为什么都用aidl呢,bindservice不也可以么?

问题描述 android做音乐播放器,为什么都用aidl呢,bindservice不也可以么? android做音乐播放器,为什么都用aidl呢,bindservice不也可以么? 解决方案 bindservice是与activity绑定的.如果acitivity退出的话,service也就销毁了,无法后台播放.当然,可以用startservice