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
Android rk3399 UAC(USB Audio)开发笔记相关推荐
- USB开发—STM32 USB Audio 开发板介绍(Feedback)
USB开发-STM32 USB Audio 开发板介绍(Feedback) 一.背景 我个人从事音频行业有好几年的时间.后面慢慢的做起了声卡,也就是USB Audio.自己也走了不少的弯路.之前一起是 ...
- 12、 Android+RK3399 pro+USB直连摄像头+NCNN+Nanodet进行检测
基本思想:最近天降一块RK3399 pro开发板(android系统),摄像头是USB直连,本来是听到rk3399 以为就可以使用Tengine,想测试一番:后来和虫叔交流才知道.rk3399 没有N ...
- USB应用开发笔记之一:STM32上实现USB主机读写U盘
在项目应用中,经常会有对外交换数据的需求.USB接口读写U盘无疑是一种颇为方便的选择.在这一篇中,我们就来讨论如何在STM32上实现USB主机读写U盘文件的方法. 1.应用概述 在我们的产品上 ...
- Android studio3.5 SDK29项目开发笔记
1.build.gradle compile过时 改为implementation 2.getDrawable过时 改为 3.Error:Your project path contains non- ...
- Linux - UAC USB声卡
Linux - UAC USB声卡 USB-HID定义 UAC定义 UAC设置 UAC 测试 最近项目里需要做一个linux平台的USB声卡,及通过USB插入Android设备,可识别成为一个USB声 ...
- Rock Pi开发笔记(二):入手Rock Pi 4B plus(基于瑞星微RK3399)板子并制作系统运行
若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/122942395 红胖子(红模仿)的博文大全:开发技术集 ...
- android大疆飞控界面,DJI Android SDK 开发笔记(入门篇)
##大疆SDK开发笔记## #1.文档相关 2.Android SDK文档 接入Android的SDK都在这部分,飞控相关的接口. 3.Android UX SDK文档 大疆自定义的组件,已经跟飞机关 ...
- Android开发笔记(一百二十六)自定义音乐播放器
MediaRecorder/MediaPlayer 在Android手机上面,音频的处理比视频还要复杂,这真是出人意料.在前面的博文< Android开发笔记(五十七)录像录音与播放>中, ...
- Android开发笔记(一百一十七)app省电方略
电源管理PowerManager PowerManager是Android的电源管理类,用于管理电源操作如睡眠.唤醒.重启以及调节屏幕亮度等等. PowerManager的对象从系统服务POWER_S ...
最新文章
- 各种 django 静态文件的配置总结【待续】
- java三大特性:封装、继承、多态
- linux下载哪个python版本-Linux安装python3.6
- 垃圾回收在哪一章java_Java垃圾回收机制
- LNMP架构环境搭建之PHP、Nginx源码编译安装及其简单配置应用
- 手动删除oracle 归档文件,Oracle手动删除归档日志厚,出现ORA-19571错误
- C# 之 获取文件名及拓展名
- OpenCL列举平台列表以及平台属性信息
- Java 读写txt文件 中文乱码问题
- Kubernetes SharedInformerFactory共享Informer机制源码深入剖析-Kubernetes商业环境实战
- Turbo C 2.0
- 自己给打印机怎么加粉墨,联想兄弟打印机加粉步骤
- P1322 logo语言
- 一路向往有光亮的地方-2015年终总结
- 类和对象9:属性访问方法
- 卡方(χ2),四格表应用条件,理论频数
- 寻找与疾病相关的SNP位点——R语言从SNPedia批量提取搜索数据
- 如何创建自己的 Google Chrome 扩展程序
- 和隆优化 matlab,misc.m · XJTU_STEI/matlabTools - Gitee.com
- beeline执行sql语句_beeline执行sql脚本我世界开挂