实现自定义Android的libaudio.so或“音频如何在Android上工作?”

问题描述:

我现在正在发现Android 4.0,并且有些问题我无法自己弄清楚,也许你可以帮助我。我发现,像“AlsaMixer”或“MixGet with ALSA”这样的市场应用程序将一个名为“libaudio.so”的库放到“/ system/lib /”(带有用户帮助)中。实现自定义Android的libaudio.so或“音频如何在Android上工作?”

我不知道发生了什么,并寻找了一段时间后,似乎每一个Android的公司可以创建一个实现了一定C++一个libaudio.so - 接口,并把它放到这条道路。

Android然后将此库用于音频处理(ALSA,TinyALSA等存在 实现)?

但是:在我的手机上没有这样的libaudio.so - 这是如何工作的?否则采取了什么? 我发现我在该目录中有一个“libasound.so”,是默认的吗?

如果我想尝试实现自己的libaudio.so(我此刻的小知识),我可以引用它的“默认” -library?

我觉得“哎,存在每部手机上工作的音频,实现在世界上,我只想把它扩大,而不是重新设计(重新配置)的车轮?

我意思是:

AudioFlinger - >我的自定义libaudio.so - >默认库 (?libasound.so) - >扬声器

而如果已经有上米libaudio.so你的手机?

我会非常感谢每一个有用的答案。 也许有人有我的地址,可以理解为初学者?

在此先感谢&亲切的问候!

+0

对不起!你将不得不推出自己的ROM作为整个Android系统使用回调,并与音频库内部的AudioFlinger这是... – t0mm13b

+0

的背景下交互只能采取定制库的优势,怎么就如来自市场工作的“AlsaMixer”,它在我的手机上安装/system/lib/libaudio.so和alsa-config-file(并且永久工作,无需重启!)?我有一个根深蒂固的设备 - 如果有问题,让我们假设我想为根设备创建一个库。由于那个AlsaMixer-app,我确定必须有一种没有定制ROM的方式。 –

+0

对于[alsamixer中](https://play.google.com/store/apps/details?id=com.skvalex.alsamixer&hl=en)工作,它说,它** ROOT&BUSYBOX REQUIRED。**在大写!这就是它能够做到的!意义手机必须扎根。刚刚在Play商店注意到,它仅限于有限的设备(顺便提一下,你的设备是什么?),有些人已经编译成alsa(特别是CM),并可能利用这一点.... – t0mm13b

我现在找到了一个好&理解的图形以极大的描述,例如如何音频通过一个Android路由:

Android Services Black Magic - Marakana(页10 + 11)

同时也非常感谢t0mm13b谁从去与libaudio.so错误的方式阻止我。