Android rk3399 UAC(USB Audio)开发笔记

一、UAC有1.0和2.0,因Windows对2.0支持不好,我使用的是UAC1.0驱动

内核配置:CONFIG_USB_CONFIGFS_F_UAC1          ---这个宏配置无需物理codec,使用虚拟 alsa codec 

驱动路径:"kernel\drivers\usb\gadget\function\f_uac1.c"

内核配置:CONFIG_USB_CONFIGFS_F_UAC1_LEGACY          ---这个宏配置需要物理codec

需要开启CONFIG_USB_CONFIGFS_F_ACC 和 CONFIG_USB_CONFIGFS_F_AUDIO_SRC  指定使用的Codec

驱动路径:"kernel\drivers\usb\gadget\function\f_uac1_legacy.c"

 

我的项目没有外接codec,所以使能CONFIG_USB_CONFIGFS_F_UAC1 就可以了

 

驱动中默认采样率是48K,2通道,如果需要修改默认值,可以改这个文件"kernel\drivers\usb\gadget\function\u_uac1.h"

#define UAC1_DEF_CCHMASK	0x1
#define UAC1_DEF_CSRATE		16000
#define UAC1_DEF_CSSIZE		2
#define UAC1_DEF_PCHMASK	0x1
#define UAC1_DEF_PSRATE		16000

CCHMASK 和 PCHMASK分别代表录音和放音通道数,默认值是0x3,双通道(每个bit代表一个通道)

CSRATE和PSRATE分别代表录音和放音采样率,默认是48000

你可能感兴趣的:(付费专栏,uac,usb,uac,adb共用,Android,rk3399)