首页
›
Linux内核与驱动
›
204-嵌入式Linux音频声卡开发
›
《ALSA用户空间接口编程:嵌入式Linux音频开发入门》
VIP10
本课程属于:204-嵌入式Linux音频声卡开发
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
ALSA用户空间接口编程:嵌入式Linux音频开发入门
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
音频基础概念
声音的物理特性(频率 · 振幅 · 相位)
音频基础概念
声音的物理特性
02
ALSA体系架构概览
ALSA在Linux音频栈中的位置 · 内核空间与用户空间的分界 · ALSA核心组件(Card
ALSA
体系架构概览
03
ALSA用户空间库介绍
libasound的功能与作用 · 常用头文件(alsa/asoundl… · 库的编译链接方法(pkg-confi…
ALSA
用户空间库介绍
04
PCM设备命名规则
hw与plughw的区别 · 设备名称格式(hw:0 · 通过aplay -l和arecord…
PCM
设备命名规则
05
打开与关闭PCM设备
snd_pcm_open()函数详解 · snd_pcm_close()函数 · 流类型选择(SND_PCM_STRE…
PCM
打开
06
PCM硬件参数配置(上)
snd_pcm_hw_params_… · 访问类型设置(SND_PCM_ACC…
PCM
硬件参数配置
07
PCM硬件参数配置(下)
采样率设置(snd_pcm_hw_p… · 声道数设置 · 位深度设置
PCM
硬件参数配置
08
PCM软件参数配置
snd_pcm_sw_params_… · 启动阈值(start_thresho… · 停止阈值(stop_threshol…
PCM
软件参数配置
09
PCM状态机与状态管理
PCM状态转换图(OPEN->SET… · snd_pcm_state()函数 · 状态检查与恢复
PCM
状态机
10
PCM数据读写(阻塞模式)
snd_pcm_readi()与sn… · 交错与非交错访问的区别 · 帧(frame)与周期(period…
PCM
数据读写
11
PCM数据读写(非阻塞模式)
设置非阻塞模式的方法 · poll()机制与PCM文件描述符 · snd_pcm_poll_descr…
PCM
数据读写
12
PCM数据读写(异步模式)
使用snd_async_add_pc… · 信号驱动I/O(SIGIO)机制 · 异步模式的适用场景
PCM
数据读写
13
PCM欠载与溢出处理
XRUN(欠载/溢出)产生原因 · snd_pcm_recover()自… · 手动恢复流程(snd_pcm_pre…
PCM
欠载
14
PCM音量控制基础
混音器(Mixer)概念 · snd_mixer_t结构体 · 打开与关闭混音器设备(snd_mix…
PCM
音量控制基础
15
混音器元素操作
snd_mixer_selem_id… · snd_mixer_find_sel… · snd_mixer_selem_ge…
混音器元素操作
snd
16
音量控制高级操作
设置音量(snd_mixer_sel… · 音量范围获取 · 左右声道独立控制
音量控制高级操作
snd
17
PCM通道映射与重映射
通道映射概念 · snd_pcm_chmap_quer… · 自定义通道映射(snd_pcm_se…
PCM
通道映射
18
PCM直接访问模式(mmap)
mmap模式原理 · snd_pcm_mmap_begin… · mmap模式与读写模式的性能对比
PCM
mmap
19
PCM采样率转换
硬件重采样与软件重采样 · snd_pcm_hw_params_… · libsamplerate库集成
PCM
采样率转换
20
PCM延迟与时戳
延迟测量方法(snd_pcm_del… · 时间戳获取(snd_pcm_htim… · 音频同步应用场景
PCM
延迟
21
ALSA错误处理机制
错误码体系(负数返回码) · snd_strerror()错误描述 · 常见错误(EPIPE
ALSA
错误处理机制
22
多线程与多进程音频处理
线程安全注意事项 · snd_pcm_open()的线程模… · 多进程共享PCM设备的限制与解决方案
多线程
多进程音频处理
23
ALSA配置文件解析
asoundrc文件结构 · 自定义设备别名配置 · PCM插件链配置(plug
ALSA
配置文件解析
24
ALSA插件系统
插件类型概述(route · rate · format
ALSA
插件系统
25
音频数据格式转换
snd_pcm_format_t枚举… · 格式转换函数(snd_pcm_for… · 手动转换与自动转换
音频数据格式转换
snd
26
PCM设备信息查询
snd_pcm_info_t结构体 · 获取设备名称 · 子设备数量
PCM
设备信息查询
27
音频缓冲区管理
环形缓冲区原理 · snd_pcm_avail()与sn… · snd_pcm_rewind()与s…
音频缓冲区管理
环形缓冲区原理
28
ALSA与音频文件交互
读取WAV文件头解析 · 使用libsndfile库读写音频文… · 将文件数据送入PCM播放
ALSA
音频文件交互
29
音频延迟与实时性优化
设置CPU亲和性 · SCHED_FIFO实时调度策略 · 内存锁定(mlockall)
音频延迟
实时性优化
30
综合实战项目
构建一个完整的音频播放器/录音机程序 · 集成PCM配置 · 音量控制
综合实战项目
构建一个完整的音…
所属VIP或分类
同VIP:UAC协议实现:嵌入式Linux-USB声卡开发要点
同VIP:嵌入式Linux-I2S声卡驱动开发与PCM通信集成
同VIP:嵌入式Linux音频Codec驱动开发与DAPM集成