Android Audio
文章平均质量分 67
慢几步-深几度-前行
这个作者很懒,什么都没留下…
展开
-
Android AudioFlinger加载HAL层流程
一、前提Audio HAL层最终以.so的方式为Android所用,那这个.so的库如何被AudioFlinger所使用?二、Audio Hardware HAL加载(1)AudioFlingerAudioFlinger加载HAL层:static int load_audio_interface(const char *if_name, const hw_module_t **mod,原创 2015-08-02 11:18:57 · 5932 阅读 · 0 评论 -
在Linux DeviceTree添加dtsi文件并在驱动中读取节点信息写入sys文件系统
一、前提新版基于ARM的Linux都会基于Device Tree去代替之前的device驱动。更加多的了解Device Tree可以访问宝哥的Bolg:ARM Linux 3.x的设备树(Device Tree)这里只是举例在arch/arm/boot/dts中添加dtsi文件并在驱动中读取dtsi中节点信息,并将节点信息写入sys文件系统,至于怎么创建、读写sys文件可以参考: linux sys原创 2015-08-19 20:23:44 · 5669 阅读 · 1 评论 -
Linux Audio DRV(音频驱动)-基于mini2440
前言Aduio驱动和网络路由的功能很相似,从一个入口最终到一个出口,这之间的路就是我们DRV最核心的地方了。这里分析的Uda134X的驱动要比现在任何一款Android手机上的Codec都要简单的多。凡事由简入难,万事不离其中。此仅仅分析Codec驱动。基本信息展示Uda1434x框图: amixer命令显示结果[Gavin@Gavin /]# amixerSimple mixer con原创 2015-11-24 11:13:07 · 1102 阅读 · 0 评论 -
Android驱动利用sys节点进行调试
#define SYS_CHANGE_EXT_SPK_PA_MODE_SUPPORT#ifdef SYS_CHANGE_EXT_SPK_PA_MODE_SUPPORTstatic ssize_t store_caliberate(struct device *dev, struct device_attribute *attr, const char *buf, size_t co原创 2016-08-17 14:50:44 · 1840 阅读 · 0 评论 -
音频相关参数的记录(MCLK、BCLK、256fs等等)
一、拿512fs说话: 看图知道采样的位深是32bit(位),左右声道各占了8*32BCLK,那一个完整的LRCLK一共8*32*2=512BCLK。 其实xxxfs就是这么算出来的,也是固定的,当你定了几个channel,多少位深,就几乎可以确认是多少fs了。从主观的角度来看,fs的数值越大,那么一个完整的LRCLK越多,那承载的数据量就越大,随之的就是音质就会更加好。...原创 2017-05-18 15:02:56 · 41364 阅读 · 6 评论 -
Android(Linux)模拟按键、触摸屏等事件
前提:在我们应用程序或者在写Android自动化测试时候常常会需要模拟实体按键,来给我们做测试用。这也是我要整理的目的。主要的涉及的是Linux Input Event事件。以下的例子基于Android 5.1(Linux-3.10)。一、利用getevent、sendevent模拟按键(1)命令:getevent -t 结果:...add device 6: /dev/input/event9原创 2015-08-16 08:18:28 · 8245 阅读 · 0 评论