Android录音相关方法介绍

本文介绍Android开发录音功能中用到的相关API和音频数据编码解码的处理

录音基础知识

常用音频格式:

  • WAV 格式:音质高 无损格式 体积较大
  • AAC(Advanced Audio Coding) 格式:相对于 mp3,AAC 格式的音质更佳,文件更小,有损压缩,一般苹果或者Android SDK4.1.2(API 16)及以上版本支持播放,性价比高
  • AMR 格式:压缩比比较大,但相对其他的压缩格式质量比较差,多用于人声,通话录音
    • AMR分类: AMR(AMR-NB): 语音带宽范围:300-3400Hz,8KHz抽样
  • mp3 格式:特点 使用广泛, 有损压缩,牺牲了12KHz到16KHz高音频的音质

    Read More

Share Comments

Handler、Looper与MessageQueue分析

本文内容节选自《Android从小工到专家——第三章:App流畅度——多线程》,内容稍有修改

我们知道在Android应用启动时,会默认有一个主线程(UI线程),在这个线程中会关联一个消息队列,所有的操作都会被封装成消息然后交给主线程来处理。
为了保证主线程不会主动退出,会将获取消息的操作放在一个死循环中,这样,程序就不会退出.

Read More

Share Comments

投马-Markdown介绍

                   .-' _..`.         
/ .'_.'.'
| .' (.)`.
;' ,_ `.
.--.__________.' ; `.;-'
| ./ /
| | /
`..'`-._ _____, ..'
/ | | | |\ \
/ /| | | | \ \
/ / | | | | \ \
/_/ |_| |_| \_\

Read More

Share Comments

Java的内存管理与垃圾回收

不知不觉已经6月8号了,回首一下5月,发现没有什么积累。给自己找个借口,是工作太忙,还是找工作太累?都不是,应该只是自己偷懒了。

待着是一天,忙碌着也是一天。所以从这篇博文开始,为自己立下三个小目标,来督促自己:
1.总结一个Java系列的文章(至少三篇)
2.总结一个数据结构和算法相关的文章(至少三篇)
3.学习Android Framework知识,总结出至少三篇

本篇主要介绍《Java的内存管理与垃圾回收》

Read More

Share Comments

泛型的应用

我在之前转载过一篇Java泛型的介绍:JAVA 泛型通配符 T,E,K,V 区别,T 以及 Class,Class<?> 的区别

最近在开发中遇到一个场景,想简化流程,突然发现可以使用泛型。
这个场景就是,在手机上实现分页加载的功能时,把通用的数据映射成对象,然后使用泛型来替代具体业务类,从而封装出一个对应分页加载的类。

Read More

Share Comments

投马-two drawbacks

                   .-' _..`.         
/ .'_.'.'
| .' (.)`.
;' ,_ `.
.--.__________.' ; `.;-'
| ./ /
| | /
`..'`-._ _____, ..'
/ | | | |\ \
/ /| | | | \ \
/ / | | | | \ \
/_/ |_| |_| \_\

Read More

Share Comments

IntentService和AsyncTask的区别

IntentService和AsyncTask的区别

先说总结:
Service:Service只适合处理长期后台执行的,这里的后台是指与前台Activity无关的东西,但跟Activity同样运行在UI线程。同时Service开销比Thread大,Service本身不能解决多线程问题。
同一个Service多次启动,只会在第一次启动时回调onStart()或onBind()方法,并多次回调onStartCommand方法。

Read More

Share Comments

Android面试题积累(高阶)

转载自简书Android大厂面试题锦集(BAT TMD JD 小米)

1.android事件分发机制,请详细说下整个流程

Read More

Share Comments