摘要:
一直想总结下Audio子系统的博客,但是各种原因(主要还是自己懒>_<),一直拖到现在才开始重新整理,期间看过H8(Android-4.4),T3(Android-4.4),A64(Android-5.1)上的AudioRecoder录音流程,总的来说,几个平台上的audio系统都差不多,这里还是主 阅读全文
摘要:
20190713 update 结构体信息如下 目前需要动态申请一个DisplayInfo空间 使用如下方式申请内存 然后对distancePicInfo进行赋值操作 运行报错了,说引用了非法地址,可以得出申请内存肯定失败了的结论 修改结构体声明如下,即可解决 先记录下,后面有时间再研究 阅读全文
摘要:
在文章《基于Allwinner的Audio子系统分析(Android-5.1)》中已经介绍了Audio的系统架构以及应用层调用的流程,接下来,继续分析AudioRecorder方法中的getMinBufferSize的实现 函数原型: public static int getMinBufferSi 阅读全文
摘要:
在上一篇文章《(一)Audio子系统之AudioRecord.getMinBufferSize》中已经介绍了AudioRecord如何获取最小缓冲区大小,接下来,继续分析AudioRecorder方法中的new AudioRecorder的实现,本文基于Android5.1,Android4.4请戳 阅读全文
摘要:
在上一篇文章《(二)Audio子系统之new AudioRecord()》中已经介绍了Audio系统如何创建AudioRecord对象以及输入流,并创建了RecordThread线程,接下来,继续分析AudioRecord方法中的startRecording的实现 函数原型: public void 阅读全文
摘要:
在上一篇文章《(三)Audio子系统之AudioRecord.startRecording》中已经介绍了AudioRecord如何开始录制音频,接下来,继续分析AudioRecord方法中的read的实现 函数原型: public int read(byte[] audioData, int off 阅读全文
摘要:
在上一篇文章《(四)Audio子系统之AudioRecord.read》中已经介绍了AudioRecord如何获取音频数据,接下来,继续分析AudioRecord方法中的stop的实现 函数原型: public void stop() throws IllegalStateException 作用: 阅读全文
摘要:
在上一篇文章《(五)Audio子系统之AudioRecord.stop》中已经介绍了AudioRecord如何暂停录制,接下来,继续分析AudioRecord方法中的release的实现 函数原型: public void release() 作用: 释放Audio资源 参数: 无 返回值: 无 接 阅读全文
摘要:
说明:第一版架构为:APP+JNI(NDK)+Driver(linux),优点是开发简单,周期短,也作为自己的毕业设计 现在更新第二版,FM服务完全植入Android系统中,成为系统服务,架构为:APP+Frameworks+JNI+HAL+Driver 整个系统设计,大致分为三篇文章介绍完毕,包括 阅读全文
摘要:
说明:第一版架构为:APP+JNI(NDK)+Driver(linux),优点是开发简单,周期短,也作为自己的毕业设计 现在更新第二版,FM服务完全植入Android系统中,成为系统服务,架构为:APP+Frameworks+JNI+HAL+Driver 整个系统设计,大致分为三篇文章介绍完毕,包括 阅读全文