android音频,android 音视频框架

Android音频采集

最近项目中需要实现手机采集声音频率实现设备律动的效果,整理了下Android与声音相关的知识。

为竹山等地区用户提供了全套网页设计制作服务,及竹山网站建设行业解决方案。主营业务为网站设计、成都网站制作、竹山网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

根据声音振幅、频率获取颜色值,通过蓝牙mesh发送指令给灯改变其颜色值。

Android声音采集相关Api

快速傅里叶变换公式

Mesh网发送rgb值相关指令

人主观感觉声音的大小(音量),振幅与人离声源的距离决定,振幅越大,离声源的距离越小,响度越大。

LP= 20×lgP/P0

LP:声压级(db)

P:声压(Pa)

P0:基准声压:2*10-5Pa,该值是对800HZ声音人耳刚能听到的最低声压。

声音的高低,由频率决定,频率越高,音调越高。

频率是每秒经过一给定点的声波数量,单位赫兹(Hz)

人耳能听到20~20kHz的声音。

音品,波形决定声音的音色。

MediaRecorder:基于文件录音,已集成录音、编码、压缩

把模拟信号数字化的过程

采样频率越高,红色间隔越密集,记录音频所用数据量越大,音频质量越高。

采样定理(奈奎斯特理论):当采样频率大于信号中最高频率的2倍时,采样后的数字信号完整地保留原始信号中的信息。人耳能听到20~20kHz的声音,为了保证声音不失真,采样频率应在40kHz以上。

目前44100Hz是唯一可以保证兼容所有Android手机的采样率。

指将模拟信号分成几个等级,量化精度越高,声音质量越好,单位Bit。

CD标准量化精度16Bit,DVD标准量化精度24Bit。

16Bit可以保证兼容所有Android手机。

音频采集、播放可以叠加,可以同时从多个音频源采集声音,例如:单声道/双声道。

即采样时间,例如20ms一帧代表20ms为单位的数据量为一帧音频。

一帧音频帧大小 = 采样率 x 位宽 x 采样时间 x 通道数

例:采样率8000,位宽8,通道2,采样间隔20ms

(8000 * 8/8 *2)/ (1000/20 ) = 320Byte //1字节 = 8 bits

对audioData进行快速傅里叶变化,时域-频域的变化,可以将信号的频谱提取出来。

傅立叶变换就是多个正余弦波叠加可以用来近似任何一个原始的周期函数,它实质是是频域函数和时域函数的转换。

Visualizer:检索当前正在播放的音频,对其进行编码

以下基于AudioRecord采集的音频数据后进行快速傅里叶变换得到频率值

Android播放音频

播放音频用到MediaPlayer类,具体用法如下:

我们写一个简单的例子,播放手机存储的根目录下motto.mp3文件。定义三个按钮play、pause、stop来控制播放。

另外,本范例涉及到SD卡的读取,还要在在Manifest.xml注册写SD卡的权限。

Android怎样对音频进行倍速播放

向各位推荐百度网盘的会员专享功能“音频倍速”,它可以五种倍速模式随意转换,满足各种用户的需求。

步骤一:打开百度网盘APP,点击“文件”

 步骤二:找到需要播放的音频文件,点击它,进入播放页面。

 步骤三:点击“倍速”,即可调整倍速。


名称栏目:android音频,android 音视频框架
文章出自:http://myzitong.com/article/dsdcejj.html