- 博客(4)
- 资源 (1)
- 收藏
- 关注
转载 android audio buffer 分析
我们知道,播放audio的时候,音频数据是从AT传送到AF的,然后AF中的audiomixer来读取PCM数据做mix下面对这个流程做大体分析。首先,分析一下AT和AF之间传递数据使用的内存是在哪里分配的。AT章节里面,我们分析AudioTrack::createTrack_l函数时,有这么一段代码: sp<IAudioTrack> track = audioFlinger-&g...
2018-07-06 11:32:32 3359
转载 obtainBuffer数据是如何传输
MediaPlayer那边就不看了,从AudioTrack开始研究。1、AudioTrack::write函数调用函数obtainBuffer获取到一块buffer,然后把传入的数据copy到获取的buffer中。2、AudioTrack::obtainBuffer函数该函数的主要功能就是对传入的audioBuffer进行赋值。看看audioBuffer的类型:class Buffer { ...
2018-07-06 11:16:15 1503
转载 audio的输出设备切换分析
本文主要介绍android上音频输出设备切换的代码流程(此文部分内容参考自邓凡达老师的博客。感谢邓老师讲解)上层程序要切换输出设备时,经过JNI调用,会调用AudioSystem::setForceUse[cpp] view plain copystatus_t AudioSystem::setForceUse(audio_policy_force_use_t usage, audio_polic...
2018-07-04 14:39:11 2137
转载 Android Audio 音频输出设备切换
扬声器输出和耳机输出是音频系统最基本的音频输出通路,实际应用中用户可根据自己需要随意切换,具体表现是通过插入耳机选择耳机输出,拔出耳机选择默认的扬声器输出。 如图5-13所示,扬声器与耳机输出切换的实现思路是内核底层驱动实现耳机插拔检测,然后通过uevent通信机制通知Java框架层,Java框架层通过Intent机制发...
2018-07-04 14:36:56 6937
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人