主页

数字音频接口

数字音频接口 概述 数字音频接口 (DAI,Digital Audio Interfaces),指在板级或板间传输数字音频信号的方式。相比于模拟接口,DAI 具备抗干扰能力强,硬件设计简单。在音频电路设计中,DAI 应用趋势无比明显。 例如,在传统的音频信号链路中,通常使用模拟信号进行连接,而对于数字音频信号,设计规范和应用场景更加庞大。本文将介绍常用的数字音频接口,如 I2S,PCM,和 PDM,并见题情景和核心特点。 I2S 接口 1. I2S 简介 I2S (全称 Inter-IC Sound),是一种数字音频信号传输规范,用于在系统内部器件之间传输数字音频数据。它由飞利浦于 1986 年定义,选用于转换器 (ADC/DAC),编解码器(CODEC),和 DSP ...

阅读更多

ubuntu下使用ndk交叉编译

概述 在Ubuntu下使用NDK+cmake交叉编译. 官方文档: https://developer.android.google.cn/ndk/guides/cmake?hl=zh-cn 下载NDK 下载地址: https://developer.android.google.cn/ndk/downloads/ 旧版本下载地址: https://github.com/android/ndk/wiki/Unsupported-Downloads 安装NDK unzip android-ndk-r21e-linux-x86_64.zip 配置环境变量 export ANDROID_NDK_HOME=/home/xxx/tools/android-ndk-r21e ex...

阅读更多

Android编译framework和car模块

概述 参考链接 编译 framework 模块 source lunch xxx-eng # Android10 及以前 make framework # Android11 及以后 #make framework-minus-apex # 相关Android.bp文件 # frameworks/base/Android.bp # Android10 及以前 cp out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar framework.jar # Android11 及以后 cp out/target/common/obj/JAVA_LIBRARIES/framework-minus...

阅读更多

Android13添加CarAudioManager接口

概述 在 Android Automotive 系统中,音频管理是一个重要的功能。CarAudioManager 是一个新的音频管理模块,专门用于控制车载音频系统。它允许应用程序控制音频流的路由、音量设置以及不同区域的音频管理。 CarAudioManager 模块由以下几个部分组成: ICarAudio:通过 AIDL 定义的进程间通信(IPC)接口,描述了 CarAudioManager 提供的所有功能。 CarAudioService:在系统服务层实现的音频管理服务,实现了 ICarAudio 接口的具体功能。 CarAudioManager:应用程序层使用的管理类,封装了 ICarAudio 的接口,提供给开发者用于控制车载音频系统。 模块架构 Car...

阅读更多

Android13添加AudioControl接口

概述 AudioControl 模块是 Android Automotive 平台的一部分,它提供了对车载音频系统的控制接口。该模块负责管理音频路由、音量调节、音频焦点管理等功能,确保在车载环境中音频体验的流畅性和一致性。AudioControl 模块通常通过硬件抽象层(HAL)实现,与底层音频硬件通信,以执行各种音频操作。 模块架构 AudioControl 模块是基于 Android HAL 的一部分,其架构设计如下: 应用层(Application Layer):车载应用程序通过 CarAudioManager 发起音频请求,例如播放媒体、语音助手等。 框架层(Framework Layer):Android 框架通过 Car Audio Service 接受音...

阅读更多

ubuntu搭建vscode阅读android_car_java环境

ubuntu搭建vscode阅读android_car_java环境 操作环境 Ubuntu-16.04.1 VSCode 1.92.2 插件安装 vscode 安装插件 Extension Pack for Java 环境配置 # 根据实际环境修改源码路径 cd android_code_path cd packages/services/Car mkdir mylib ln -s ./../../../../frameworks/ mylib/frameworks mkdir mylib/my_framework_core mkdir mylib/my_framework_core/android cp -rf mylib...

阅读更多

ubuntu开发环境配置

修改软件源 Ubuntu 默认的软件源是境外的,速度上会有些问题,我们可以在「Software & Updates」(软件和更新)中选择国内的镜像。 还可以直接修改配置文件 https://developer.aliyun.com/mirror/ubuntu?spm=a2c6h.13651102.0.0.775b1b11o2W9u7 更新系统软件 sudo apt update sudo apt upgrade sudo apt autoremove # Ubuntu 20.04 sudo apt install -y openssh-server build-essential gcc g++ clang git cmake ...

阅读更多

Linux驱动开发之ALSA驱动设备树

概述 ALSA(Advanced Linux Sound Architecture)是Linux内核中关于音频驱动的框架,它定义了音频驱动的框架,使得音频驱动可以方便地被用户空间调用。 ALSA驱动起始页https://kernel.org/doc/html/latest/sound/index.html asla驱动代码结构https://kernel.org/doc/html/latest/sound/kernel-api/writing-an-alsa-driver.html 本文主要介绍一下ALSA驱动开发的相关设备树及源文件。 背景 基于正点原子的i.MX6ULL开发板,Linux内核版本 4.1.15 设备树 imx6ull-alientek-emmc.dts...

阅读更多