Linux音频驱动-ALSA概述
概述
音频子系统文件目录结构
root@test:~/k3.18/kernel/sound$ ls
ac97_bus.c atmel firewire Kconfig mips pci sh sound_firmware.c synth
aoa core i2c last.c oss pcmcia soc sparc usb
arm drivers isa Makefile parisc ppc sound_core.c spi
主要的目录的介绍信息如下:
ALSA接口信息
proc接口
root@test:/proc/asound$ ls -l
总用量 0
dr-xr-xr-x 5 root root 0 11月 22 13:41 card0
-r--r--r-- 1 root root 0 11月 22 13:41 cards
-r--r--r-- 1 root root 0 11月 22 13:41 devices
-r--r--r-- 1 root root 0 11月 22 13:41 hwdep
-r--r--r-- 1 root root 0 11月 22 13:41 modules
dr-xr-xr-x 2 root root 0 11月 22 13:41 oss
lrwxrwxrwx 1 root root 5 11月 22 13:41 PCH -> card0
-r--r--r-- 1 root root 0 11月 22 13:41 pcm
dr-xr-xr-x 2 root root 0 11月 22 13:41 seq
-r--r--r-- 1 root root 0 11月 22 13:41 timers
-r--r--r-- 1 root root 0 11月 22 13:41 version
如下是我手机的中的详细信息,会个pc机上的有差别。
test:/proc/asound # ls -l
total 0
dr-xr-xr-x 21 root root 0 2012-01-02 03:19 card0
-r--r--r-- 1 root root 0 2012-01-02 03:19 cards
-r--r--r-- 1 root root 0 2012-01-02 03:19 devices
-r--r--r-- 1 root root 0 2012-01-02 03:19 pcm
lrwxrwxrwx 1 root root 5 2012-01-02 03:19 xxx -> card0
-r--r--r-- 1 root root 0 2012-01-02 03:19 timers
-r--r--r-- 1 root root 0 2012-01-02 03:19 version
相比的话,差不了多少,只是手机上没有一些功能而已。接下来详细介绍每个目录的大体含义。
root@test:/proc/asound$ cat cards 0 [PCH ]: HDA-Intel - HDA Intel PCHHDA Intel PCH at 0xf7d00000 irq 45
devices: 列出系统card下所有注册的device,包括control,pcm,timer,seq等等。
root@test:/proc/asound$ cat devices 1: : sequencer2: [ 0- 2]: digital audio capture3: [ 0- 0]: digital audio playback4: [ 0- 0]: digital audio capture5: [ 0- 0]: hardware dependent6: [ 0] : control33: : timer
hwdep: 列出所有硬件依赖(hardward dependent)的设备。此设备不是所有系统上都存在的。
root@test:/proc/asound$ cat pcm
00-00: ALC662 rev1 Analog : ALC662 rev1 Analog : playback 1 : capture 1
00-02: ALC662 rev1 Analog : ALC662 rev1 Analog : capture 1
seq: 此目录保护一些音序相关的信息。
root@test:/proc/asound$ cat version
Advanced Linux Sound Architecture Driver Version 1.0.25.
devices字段详细解释,会在后面更了解各个字段的含义。
有关proc的详细信息可以见:http://alsa.opensrc.org/Proc_asound_documentation#The_.2Fproc.2Fasound.2Foss.2F_directory
dev接口信息
root@test:/dev/snd$ ls -l
总用量 0
drwxr-xr-x 2 root root 60 11月 16 10:47 by-path
crw-rw---T+ 1 root audio 116, 6 11月 16 10:47 controlC0
crw-rw---T+ 1 root audio 116, 5 11月 16 10:47 hwC0D0
crw-rw---T+ 1 root audio 116, 4 11月 16 11:00 pcmC0D0c
crw-rw---T+ 1 root audio 116, 3 11月 22 14:45 pcmC0D0p
crw-rw---T+ 1 root audio 116, 2 11月 16 10:47 pcmC0D2c
crw-rw---T+ 1 root audio 116, 1 11月 16 10:47 seq
crw-rw---T+ 1 root audio 116, 33 11月 16 10:47 timer
上述是sound下的常见的设备文件。首先看看各个字段的含义:
enum {SNDRV_DEVICE_TYPE_CONTROL,SNDRV_DEVICE_TYPE_SEQUENCER,SNDRV_DEVICE_TYPE_TIMER,SNDRV_DEVICE_TYPE_HWDEP,SNDRV_DEVICE_TYPE_RAWMIDI,SNDRV_DEVICE_TYPE_PCM_PLAYBACK,SNDRV_DEVICE_TYPE_PCM_CAPTURE,SNDRV_DEVICE_TYPE_COMPRESS,
};
通常更关心control和pcm设备。
代码入口分析
Linux音频驱动-ALSA概述相关推荐
- 转载:Linux音频驱动-OSS和ALSA声音系统简介及其比较
Linux音频驱动-OSS和ALSA声音系统简介及其比较 概述 昨天想在Ubuntu上用一下HTK工具包来绘制语音信号的频谱图和提取MFCC的结果,但由于前段时间把Ubuntu升级到13.04,系统的 ...
- Linux 音频驱动(五) ALSA音频驱动之PCM逻辑设备
目录 1. 前言 2. PCM逻辑设备 2.1. 创建 PCM逻辑设备: 2.2. PCM逻辑设备文件操作函数集:snd_pcm_f_ops[] 2.3. Open PCM逻辑设备 2.4. Writ ...
- Linux 音频驱动
Linux 音频驱动 硬件介绍 WM8960与IMX6ULL之间有两个通信接口:I2C和I2S 其中I2C用于配置WM8960 I2S用于音频数据传输 修改设备树文件 编写I2C子节点设备树 code ...
- Linux 音频驱动(四) ASoC音频驱动之Machine驱动
目录 1. 基本介绍 2. 源码分析 2.1. Machine数据结构 struct snd_soc_dai_link 3. 声卡 3.1. 数据结构struct snd_soc_card 3.2. ...
- STM32MP157驱动开发——Linux 音频驱动
STM32MP157驱动开发--Linux 音频驱动 一.简介 1.CS42L51 简介 2.I2S总线 3.STM32MP1 SAI 总线接口 二.驱动开发 1.音频驱动 1)修改设备树 i2c 接 ...
- linux 音频架构绕过,linux音频驱动架构
1.linux音频驱动架构分为3部分组成:硬件无关层(核心层ALSA).板级音频数字接口层驱动(McASP.McBSP等).外部codes驱动 sound/soc/davinci/ti81xx-etv ...
- Linux音频驱动之二:Control接口的调用
本文是基于mini2440开发板Linux版本号是linux-2.6.32.2的学习笔记 一. control接口说明 Control接口主要让用户空间的应用程序(alsa-lib)可以访问和控制音频 ...
- Linux 音频驱动(二) ASoC音频驱动之Platform驱动
目录 1. 简介 2. 源码分析 2.1. CPU DAI 2.1.1. 数据结构struct snd_soc_dai_driver 2.1.2. 注册CPU DAI:snd_soc_register ...
- linux 音频驱动的流程,Intel平台下Linux音频驱动流程分析
[软件框架] 在对要做的事情一无所知的时候,从全局看看系统的拓扑图对我们认识新事物有很大的帮助.Audio 部分的驱动程序框架如下图所示: 这幅图明显地分为 3 级. 上方蓝色系的 ALSA Kern ...
- Linux音频驱动开发概括
原址 1.嵌入式音频系统硬件连接 下图所示的嵌入式设备使用IIS将音频数据发送给编解码器.对编解码器的I/O寄存器的编程通过IIC总线进行. 2.音频体系结构-ALSA ALSA是Advanced L ...
最新文章
- ASP.NET Core 中文文档 第四章 MVC(4.3)过滤器
- 《疯狂Java讲义》7
- III USP Freshmen ContestH. MaratonIME gets candies
- vscode可以打开jupyternotebook吗_刚刚,官方宣布 VS Code 支持 Python 全开发了!
- 第3步 (请先看第2步再看第3步) 新建完spring+springmvc+mybatis项目 需要推送gitee仓库进行管理 巨详细
- python实现knn算法鸢尾花_Python学习之knn实现鸢尾花分类
- Git --- 傻瓜内容跟踪器
- wpf ui框架_替代Silverlight:微软面向Web开发者推出Blazor新框架
- mysql重点知识提取
- Axure RP使用基础教程
- 如何在SuperMap iDesktop制作卫星地图
- 百鸡问题用计算机思维,大力出奇迹:当古代数学难题遇到现代计算机
- 计算机在小学教育教学中的优劣,计算机在小学教学中的应用探析
- C++实现演讲比赛流程管理系统
- Mybatis 报The error occurred while handling results
- 豆瓣电台WP7客户端 开发记录5
- dcs常用的冗余方式_一种DCS系统冗余网络设备电源配置的制作方法
- iOS一键搞定自动打包并发布到AppStore和Fir
- Springboot2(43)轻松搞定自定义@Enable模块装配
- vue引入JQ的方法