首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

语音项目——Android录音学习

二、Android两种录音方式 1、音频采集简介 Android提供了两个API用于录音的实现:MediaRecorder 和AudioRecord。 (1)....在录音过程中,应用所需要做的就是通过后面三个类方法中的一个去及时地获取AudioRecord 对象的录音数据。...音频采集工作,需要构造一个AudioRecord对象,然后传入各种不同配置的参数。 2、利用AudioRecord实现Android录音的流程 (1)....创建一个数据流,一边从AudioRecord中读取声音数据到初始化的buffer,一边将buffer中数据导入数据流,生成PCM格式文件; (5)....AudioRecorder录音声音数据从音频硬件中被读出,编码格式为 PCM格式,PCM是英文Pulse-codemodulation的缩写,中文译名是脉冲编码调制。

3.3K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android 两种录音方式

    Android 录音 录音简介 Android提供了两个API用于录音的实现:MediaRecorder 和AudioRecord。...AudioRecord:主要实现对音频实时处理以及边录边播功能,相对MediaRecorder比较专业,输出是PCM语音数据,如果保存成音频文件,是不能够被播放器播放的,所以必须先写代码实现数据编码以及压缩...在录音过程中,应用所需要做的就是通过后面三个类方法中的一个去及时地获取 AudioRecord 对象的录音数据。...音频通道:单声道,双声道等, 音频格式:一般选用PCM格式,即原始的音频样本。 缓冲区大小:音频数据写入缓冲区的总数,可以通过AudioRecord.getMinBufferSize获取最小的缓冲区。...int bufferSizeInBytes = 0; // 录音对象 private AudioRecord audioRecord; // 录音状态 private Status status =

    7.3K31

    【Android RTMP】音频数据采集编码 ( FAAC 头文件与静态库拷贝到 AS | CMakeList.txt 配置 FAAC | AudioRecord 音频采样 PCM 格式 )

    文章目录 一、 FAAC 头文件与静态库拷贝到 Android Studio 二、 CMakeList.txt 构建脚本配置 三、 Java 层 AudioRecord 音频采样 PCM 格式 四、 Java...层 AudioRecord 音频采样 PCM 格式代码示例 一、 FAAC 头文件与静态库拷贝到 Android Studio ---- 将 PCM 音频采样编码成 AAC 格式 , 需要使用 FAAC..., AudioFormat.ENCODING_PCM_16BIT) * 2; ② 创建 AudioRecord 对象 : AudioRecord 构造函数需要传入 音频来源 , 采样率 , 声道配置 ,...PCM 音频采样线程 : ① 独立线程封装 : 音频采样需要持续进行操作 , 并且该操作非常耗时 , 肯定要封装在一个独立线程中完成 ; ② 开始采样 : 调用 AudioRecord 对象的 startRecording.... ); } // 停止录音采样 mAudioRecord.stop(); } } 四、 Java 层 AudioRecord 音频采样 PCM

    3.1K20

    音视频基础能力之 Android 音频篇 (一): 音频采集

    一、概述 AudioRecord 是 Android 平台比较重要的类,也是 Java 接口中比较偏底层(平台)的接口,可以通过它从平台的音频输入硬件来获取原始音频 PCM 数据。...Manifest.permission.RECORD_AUDIO); return result == PackageManager.PERMISSION_GRANTED; } // step2: 请求录音权限...startRecording(); } else { // 权限被拒绝,无法进行录音 Toast.makeText...(this, "录音权限被拒绝", Toast.LENGTH_SHORT).show(); } } } 三、初始化工作 3.1 确定硬件 buffer size 上文提及到,在创建...audioFormat 音频格式,这里表示采集音频数据的精度,参数可选:AudioFormat.ENCODING_PCM_8BIT,AudioFormat.ENCODING_PCM_16BIT,AudioFormat.ENCODING_PCM_FLOAT

    26100

    音视频入门之音频采集、编码、播放

    本篇文章你将学到: AudioRecord 音频的采集 生成 PCM 文件 PCM 转化为 WAV 文件 PCM 转化为 AAC 文件 附上正常运行 demo 源码 使用 AudioRecord 实现录音生成...PCM 文件 AudioRecord 是 Android 系统提供的用于实现录音的功能类,要想了解这个类的具体的说明和用法,我们可以去看一下官方的文档: AndioRecord类的主要功能是让各种 Java...在录音过程中,应用所需要做的就是通过后面三个类方法中的一个去及时地获取AudioRecord对象的录音数据....开始录音的时候,AudioRecord需要初始化一个相关联的声音buffer, 这个buffer主要是用来保存新的声音数据。这个buffer的大小,我们可以在对象构造期间去指定。...PCM:PCM(Pulse Code Modulation----脉码调制录音)。所谓PCM录音就是将声音等模拟信号变成符号化的脉冲列,再予以记录。

    3.6K00

    Android多媒体之认识声音、录音与播放(PCM)

    音频的捕获(AudioRecord) PCM(Pulse Code Modulation)--脉冲编码调制,今天只说PCM 主要过程是将话音、图像等模拟信号每隔一定时间进行取样,使其离散化, 同时将抽样值按分层单位四舍五入取整量化...,手离开时停止录音,最后在左边显示录音时长,素材在源码里 ?..._16BIT;//输出格式:16位pcm private AudioRecord mAudioRecord;//录音机 private int mMinBufferSize = 2048...().createFile("pcm录音/" + StrUtil.getCurrentTime_yyyyMMddHHmmss() + ".pcm"); mFos = new FileOutputStream...录音/20190103140621.pcm") 最后提一下:希望大家分清编码和格式(拓展名) 这里我将文件名改为20190103140621.toly也正常播放,文件中的内容(流)不变 AudioTrack

    3.6K30

    Android多媒体之SoundPool+pcm流的音频操作

    ---- 一、AudioRecord和MediaRecorder,AudioTrack和MediaPlayer 0.到现在接触了四个类: 第一天:AudioRecord(录音)、AudioTrack...四类.png ---- 1.AudioRecord(基于字节流录音) 优点: 对音频的实时处理,适合流媒体和语音电话 缺点: 输出的是PCM的语音数据,需要自己处理字节数据 如果保存成音频文件不能被播放器播放...编码格式.png ---- 2.MediaRecorder(基于文件录音) 优点: MediaRecorder录制的音频文件是经过压缩后的 已集成了录音,编码,压缩等,支持一些的音频格式文件(.arm,..._16BIT;//输出格式:16位pcm String inPath = "/sdcard/pcm录音/keke.pcm"; String outPath = "/sdcard/pcm录音/keke.wav...录音/20190107075814.pcm", (int) (44100 * rate)); }); ---- 五、JNI的一些简单认识 1.新建一个支持C++的Android项目,看一下有哪里不同 ?

    2.8K20

    Android开发笔记(一百八十九)利用LAME录制MP3音频

    Android常用的录音工具有两种,分别是MediaRecorder和AudioRecord,前者用于录制普通音频,后者用于录制原始音频。...然而无论是普通音频的amr和aac格式,还是原始音频的pcm格式,都不能在电脑上直接播放,也不能在苹果手机上播放,因为它们属于安卓手机的定制格式,并非通用的音频格式。...MP3的转换过程又有两种形式,一种是把PCM文件转成MP3文件,另一种是在录音时将原始数据直接转存为MP3文件,也就是边录边转。...由于PCM保存着原始音频数据,该格式的文件较大,一次性转成MP3较费时间,因此通常采取边录边转以便提高转换效率。...具体而言,则需构建录音线程,在其构造方法中初始化LAME;然后开启录音线程,同时启动MP3转码线程,录音线程由AudioRecord获得原始音频数据,马上转交给MP3转码线程处理;录音结束时,也给MP3

    1.6K10

    Android 音频PCM数据的采集和播放,读写音频wav文件

    本文目的:使用 AudioRecord 和 AudioTrack 完成音频PCM数据的采集和播放,并读写音频wav文件 准备工作 Android提供了AudioRecord和MediaRecord。...MediaRecord可选择录音的格式。 AudioRecord得到PCM编码格式的数据。AudioRecord能够设置模拟信号转化为数字信号的相关参数,包括采样率和量化深度,同时也包括通道数目等。...2CH 不定 量化数据 AudioRecord AudioRecord可实现从音频输入设备记录声音的功能。得到PCM格式的音频。...AudioRecordThread 使用AudioRecord录制PCM文件,可选择同时生成wav文件 AudioTrackPlayThread 使用AudioTrack播放PCM或wav音频文件的线程...wav文件的header /** * 音频录制器 * 使用 AudioRecord 和 AudioTrack API 完成音频 PCM 数据的采集和播放,并实现读写音频 wav 文件 * 检查权限

    3.5K30

    【Android 音频】“声音”从何而来

    PCM 数据是最原始的音频数据完全无损,所以 PCM 数据虽然音质优秀但体积庞大,为了解决这个问题先后诞生了一系列的音频格式,这些音频格式运用不同的方法对音频数据进行压缩,其中有无损压缩(ALAC、APE...二、录音方式 1、系统内录 直接上 Google 官方的文档,大意就通过该接口可以进行实时字幕和游戏内录音。...2.1、基本概念 Android 系统提供的录制麦克风方式就两种:MediaRecorder 和 AudioRecord: MediaRecorder:简易模式,调用简单,只有开始、结束,录音之后的文件也是指定编码格式...AudioRecord:原始模式,可以暂停、继续,可以实时获取到 PCM 数据然后进行音视频的混合,也是录屏软件经常使用的接口。 2.2、麦克风内录的另类实现 ?...通过上面的 AudioRecord 的代码可以发现,输入源是可以配置的,并且通过接口文档很快就发现 REMOTE_SUBMIX 这个输入源也可以实现内录功能,但是有两个必要条件: 需要系统权限,就是需要在

    2.3K40

    实时Android语音对讲系统架构

    audioFormat指定返回音频数据的格式,常见的选择包括ENCODING_PCM_16BIT、ENCODING_PCM_8BIT和ENCODING_PCM_FLOAT。...ENCODING_PCM_16BIT表示PCM 16bits每个样本,所有设备保证支持。ENCODING_PCM_8BIT自然表示PCM 8bits每个样本。...ENCODING_PCM_FLOAT表示一个单精度浮点数表示一个样本。 bufferSizeInBytes表示录音时音频数据写入的buffer的大小。...首先,对于录音线程,由于对讲机用户大部分时间可能是在听,而不是说。...录音线程可能长时间不用,应该让其超时回收,所以录音线程宜使用CachedThreadPool; 其次,对于发现局域网内的其它用户的功能,该功能需要不断循环执行,相当于循环的向局域网内发送心跳信号,因此宜使用

    5K40

    Android开发之声网即时通讯与讯飞语音识别相结合

    然后定义发布者和订阅者两者的接口,其中发布者的接口就应该包括开启录音和关闭录音,而订阅者的接口就更简单,通知有音频源到来就行。废话不再多说,先上代码。...CHANNEL_CONFIG = AudioFormat.CHANNEL_IN_MONO; public static final int AUDIO_FORMAT = AudioFormat.ENCODING_PCM...,而是将录音循环停止,使录音循环作为一个原子操作。...speechRecognizer.setParameter(SpeechConstant.VAD_BOS, "8000"); // 设置语音后端点:后端点静音检测时间,即用户停止说话多长时间内即认为不再输入, 自动停止录音...IFlyRecognizerListener(listener); } @Override public void startRecognize() { //如果获取用户ID失败,则不保存录音文件

    1.3K30
    领券