android audio数据传输
来源:互联网 发布:ukulele调音器软件 编辑:程序博客网 时间:2024/06/14 01:45
http://www.fengfly.com/plus/view-192718-1.html
http://www.cnblogs.com/andriod-html5/archive/2012/04/11/2539537.html
playback track:
1. audio_track_cblk_t->mainbuffer(effect in buffer) via audio mixer: audio_track_cblk_t(track get next buffer)->downmix(downmixerbufferprovider getnextbuffer)->resampler(resample)->audiomixer(也是类似resample的处理)->dither&clamp->mainbuffer
2. mainbuffer(effect chain in buffer)->mixbuffer(effect chain out buffer) via effect: effect chain中有许多effect. aux effect的inbuffer是另外生成的, 它的outbuffer是effect chain in buffer, 其他effect的inbuffer是也是effect chain in buffer. 其它effect 的outbuffer除了最后一个之外也都是effect chain in buffer, 最后一个effect的outbuffer是effect chain out buffer.effect是在循环中被一个个的process的, 所以没有问题, 看playbackThread的threadLoop的effectChain[i]->process_l()。
3. mixbuffer(effect chain out buffer) to HAL stream in AudioFlinger::MixerThread::threadLoop.
linaro pandaboard用的是usb audio, driver在driver/sound下。hal层的audio在tinyhal下。 这个audio hal依赖与external下的tinyalsa, 这个tinyalsa调用linux audio driver(alsa).
客户端的AudioTrack的audioBuffer共享audio_track_cblk_t buffer。 通过AudioTrack的write函数(客户端主动写)和processAudioBuffer (AudioTrack拉)写数据到audio_track_cblk_t buffer.
record:
stream input->mRsmpInBuffer->mRsmpOutBuffer (if need resample)->audio_track_cblk_t.
linaro tinthal的audio中input read没有实现。
这里有一篇Android系统匿名共享内存(Anonymous Shared Memory)C++调用接口分析:
http://www.blogjava.net/mixer-a/archive/2012/04/17/374989.html
有时间看一下。
http://www.xue5.com/Mobile/Mobile/664250.html
http://blog.csdn.net/azloong/article/details/7307506: omap4460/twl6040 audio ic.
- [Audio] Android音频数据传输
- android audio数据传输
- Android Audio
- android audio
- android audio
- android Audio
- android audio
- Android audio
- android audio
- Android Audio
- [Audio] Android深入浅出之Audio
- [Audio] Android Audio 相关知识
- Android Audio 1:Android Audio概述
- Android Activity间数据传输
- android 数据传输之JSON
- Android音频数据传输
- Android 录音数据传输
- Android 录音数据传输
- vmware workstation 9 安装Ubuntu 12.04 WIN7 64 位 出现问题及解决办法
- 黄威地址的openeim001
- 一个程序员的世界(四):我是实习生
- 折磨半个月终于找到php脚本所谓的“内存泄露”原因!
- Ubuntu 10.04快速设置Samba
- android audio数据传输
- Java对象转JSON处理类(非原创,网上搜索到的)
- 互联网思考悲伤之后 如何重新定位移动互联网方向
- Android ListView滑动变黑
- 对表空间重命名
- .net下简单快捷的数值高低位切换
- java笔记第六节
- 备份恢复问题
- JAVA正则表达式入门