关闭

Android AudioRecord介绍与Android 6.0后的改变

标签: android采用率android6-0Audio
3284人阅读 评论(3) 收藏 举报
分类:

AudioRecord介绍

在android中采集音频的api是android.media.AudioRecord类

其中构造器的几个参数就是标准的声音采集参数

以下是参数的含义解释

public AudioRecord (int audioSource, int sampleRateInHz, int channelConfig, int audioFormat, int bufferSizeInBytes)

先给大家分析一下这几个参数具体的含义:

AUDIOSOURCE

官方:
the recording source. See MediaRecorder.AudioSource for recording source definitions.

我的理解:
音频源:指的是从哪里采集音频。这里我们当然是从麦克风采集音频,所以此参数的值为MIC

SAMPLERATEINHZ

官方:
the sample rate expressed in Hertz. Examples of rates are (but not limited to) 44100, 22050 and 11025.

我的理解:
采样率:音频的采样频率,每秒钟能够采样的次数,采样率越高,音质越高。给出的实例是44100、22050、11025但不限于这几个参数。例如要采集低质量的音频就可以使用4000、8000等低采样率。
采样人声音一般用44100,也就是我们平时录音时采用的采样率

CHANNELCONFIG

官方:
describes the configuration of the audio channels. See CHANNEL_IN_MONO and CHANNEL_IN_STEREO

我的理解:
声道设置:android支持双声道立体声和单声道。MONO单声道,STEREO立体声

AUDIOFORMAT

官方:
the format in which the audio data is represented. See ENCODING_PCM_16BIT and ENCODING_PCM_8BIT

我的理解:
编码制式和采样大小:采集来的数据当然使用PCM编码(脉冲代码调制编码,即PCM编码。PCM通过抽样、量化、编码三个步骤将连续变化的模拟信号转换为数字编码。) android支持的采样大小16bit 或者8bit。当然采样大小越大,那么信息量越多,音质也越高,现在主流的采样大小都是16bit,在低质量的语音传输的时候8bit足够了。

BUFFERSIZEINBYTES

官方:
the total size (in bytes) of the buffer where audio data is written to during the recording. New audio data can be read from this buffer in smaller chunks than this size. SeegetMinBufferSize(int, int, int) to determine the minimum required buffer size for the successful creation of an AudioRecord instance. Using values smaller than getMinBufferSize() will result in an initialization failure.

我的理解:
采集数据需要的缓冲区的大小,如果不知道最小需要的大小可以在getMinBufferSize()查看。

Android6.0发现的改变点:

1、权限改变

Android 6.0以前安装应用时就会弹出权限对话框给用户,而Android6.0以后再安装或打开应用时并不会弹出权限对话框,而是在你使用到当前功能(这里指的是录音功能时才会弹出)

2、系统不再支持8bit的编码率

上面已经说了,再低质量语音传输时8bit已经够了,再我们6.0以前使用8bit编码率对大部分的手机录音已经足矣,这里需要解释一下编码率到底是啥:

要算一个PCM音频流的码率是一件很轻松的事情,采样率值×采样大小值×声道数bps。一个采样率为44.1KHz,采样大小为16bit,双声道的PCM编码的WAV文件,它的数据速率则为 44.1K×16×2 =1411.2 Kbps。我们常说128K的MP3,对应的WAV的参数,就是这个1411.2 Kbps,这个参数也被称为数据带宽,它和ADSL中的带宽是一个概念。将码率除以8,就可以得到这个WAV的数据速率,即176.4KB/s。这表示存储一秒钟采样率为44.1KHz,采样大小为16bit,双声道的PCM编码的音频信号,需要176.4KB的空间,1分钟则约为10.34M,这对大部分用户是不可接受的。

所以有很多人为了再带宽上优化,增加采样率肯定是不可取的,所以就把16bit改成8bit,而对Andorid 6.0以前的影响并不会很大,但是在6.0以后,你再使用8bit就会出现异常了,这点一定要注意。

2
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

android中AudioRecord使用

一 什么是音频的采样率和采样大小   自然界中的声音非常复杂,波形极其复杂,通常我们采用的是脉冲代码调制编码。即PCM编码。PCM通过抽样、量化、编码三个步骤将连续变化的模拟信号转换为数...
  • jiangliloveyou
  • jiangliloveyou
  • 2013-09-06 14:31
  • 11381

android6.0音频录制与播放

package com.github.obsessive.tests.luyin; import android.Manifest; import android.content.Intent; i...
  • liu3364575
  • liu3364575
  • 2017-05-07 21:03
  • 74989

Android6.0源码分析之录音功能(一)

从现在开始一周时间研究录音,下周出来一个完整的博客,监督,激励!!! 2017-02-09--------2017-02-17
  • zrf1335348191
  • zrf1335348191
  • 2017-02-09 17:31
  • 7933

Android-MediaRecord介绍

MediaRecord 参考官网介绍: 用来录制音频和视频,他的录制控制是基于一个简单的状态机器上,如下图 用法参考: MediaRecorder recorder = new Med...
  • ght199266
  • ght199266
  • 2016-01-19 15:58
  • 823

Android使用AudioRecord遇到的问题与解决方法

问题: 1、android判断是否禁用了录音权限       通过判断分贝值是否大于0,在代码中搜索 volume > 0 2、部分手机在调用 audioRecord.startRecordin...
  • wyyl1
  • wyyl1
  • 2015-05-14 12:11
  • 18374

Android应用程序麦克风MicroPhone无法录音,要在手机设置里开放权限

安卓项目没任何问题,项目里权限设置也没问题,手机运行还是不能录音,解决方法: 红米4:设置->授权管理->应用权限管理->点击应用名字->录音->允许 这是我测试腾讯云游戏语音的例子VoiceTuto...
  • brook0344
  • brook0344
  • 2017-02-10 10:57
  • 2656

Android 6.0 双向通话自动录音

项目中需要实现基于Android 6.0 的双向通话自动录音功能,在查阅相关android电话状态监听文章以及git上的开源录音项目后,整理出此文首先,介绍一下android 电话状态的监听(来电和去...
  • gyhgx
  • gyhgx
  • 2016-06-14 11:22
  • 5704

Android6.0源码分析之录音功能(一)

从现在开始一周时间研究录音,下周出来一个完整的博客,监督,激励!!! 2017-02-09--------2017-02-17
  • zrf1335348191
  • zrf1335348191
  • 2017-02-09 17:31
  • 7933

Android使用AudioRecord遇到的问题与解决方法

问题: 1、android判断是否禁用了录音权限       通过判断分贝值是否大于0,在代码中搜索 volume > 0 2、部分手机在调用 audioRecord.startRecordin...
  • wyyl1
  • wyyl1
  • 2015-05-14 12:11
  • 18374

Android AudioRecord和AudioTrack介绍

Android音频收集和播放(一) 一、文章说明 这是自己第一次通过写文章的方式来记录在开发中的一些心得,在这里也希望这是一个好的开始并一直坚持下去,同时更是希望能帮助到有需要的开发者。 这篇...
  • tanningzhong
  • tanningzhong
  • 2017-06-02 15:11
  • 273
    个人资料
    • 访问:254246次
    • 积分:2581
    • 等级:
    • 排名:第16304名
    • 原创:34篇
    • 转载:0篇
    • 译文:2篇
    • 评论:67条
    博客专栏
    文章分类
    最新评论