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 PCH
- HDA Intel PCH at 0xf7d00000 irq 45
devices: 列出系统card下所有注册的device,包括control,pcm,timer,seq等等。
- root@test:/proc/asound$ cat devices
- 1: : sequencer
- 2: [ 0- 2]: digital audio capture
- 3: [ 0- 0]: digital audio playback
- 4: [ 0- 0]: digital audio capture
- 5: [ 0- 0]: hardware dependent
- 6: [ 0] : control
- 33: : 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音频驱动学习之:(1)ASOC分析
一.音频架构概述 (1)ALSA是Advanced Linux Sound Architecture 的缩写,目前已经成为了linux的主流音频体系结构,想了解更多的关于ALSA的这一开源项目的信息和 ...
- Linux音频驱动简述
一.数字音频 音频信号是一种连续变化的模拟信号,但计算机仅仅能处理和记录二进制的数字信号.由自然音源得到的音频信号必须经过一定的变换,成为数字音频信号之后,才干送到计算机中作进一步的处理. 数字音频系 ...
- 小白自制Linux开发板 八. Linux音频驱动配置
不知不觉小白自制开发板系列已经到第八篇了,本篇要配置的是音频驱动,也算是硬件部分的最后一片了,积攒的文章也差不多全放完了,后续更新可能会放缓,还请见谅. 对于F1C200s是自带了多媒体处理功能的,所 ...
- Linux音频驱动学习之:(2)移植wm8976声卡驱动(linux-3.4.2)
1.wm8976驱动程序: /* * wm8976.h -- WM8976 Soc Audio driver * * This program is free software; you can re ...
- linux 音频驱动
转:https://wenku.baidu.com/view/7394e16d7e21af45b307a8dc.html?pn=51 linux_sound_alsa_ALSA体系SOC子系统中数据流 ...
- Linux设备驱动开发详解-Note(5)---Linux 内核及内核编程(1)
Linux 内核及内核编程(1) 成于坚持,败于止步 Linux 2.6 内核的特点 Linux 2.6 相对于 Linux 2.4 有相当大的改进,主要体现在如下几个方面. 1.新的调度器 2.6 ...
- 嵌入式驱动开发之---Linux ALSA音频驱动(一)
本文的部分内容参考来自DroidPhone的博客(http://blog.csdn.net/droidphone/article/details/6271122),关于ALSA写得很不错的文章,只是少 ...
- 基于Linux ALSA音频驱动的wav文件解析及播放程序 2012
本设计思路:先打开一个普通wav音频文件,从定义的文件头前面的44个字节中,取出文件头的定义消息,置于一个文件头的结构体中.然后打开alsa音频驱动,从文件头结构体取出采样精度,声道数,采样频率三个重 ...
- linux音频alsa-uda134x驱动文档阅读之一转自http://blog.csdn.net/wantianpei/article/details/7817293
前言 目前,linux系统常用的音频驱动有两种形式:alsa oss alsa:现在是linux下音频驱动的主要形式,与简单的oss兼容.oss:过去的形式而我们板子上的uda1341用的就是alsa ...
随机推荐
- Codeforces_764_C. Timofey and a tree_(并查集)(dfs)
C. Timofey and a tree time limit per test 2 seconds memory limit per test 256 megabytes input standa ...
- miller_rabin_素性测试
摘自:http://blog.csdn.net/pi9nc/article/details/27209455 看了好久没看懂,最后在这篇博客中看明白了. 费马定理的应用,加上二次探测定理. Ferma ...
- ThinkPHP---案例2--部门管理功能
[一]部门列表展示 分析: ①控制器DeptController.class.php ②方法showList(不要使用list方法,因为list是关键词) ③模板文件:showList.html 下面 ...
- ajax aspx调用webservice,返回json
1,创建一个asp.net网站 2.创建一个student类 using System; using System.Collections.Generic; using System.Linq; us ...
- Ubuntu安装Foxit PDF阅读器
最近使用Ubuntu自带的PDF阅读器,发现使用体验较差,打算安装FoxitReader(可能是我习惯了Foxit和Adobe) Foxit官网 对系统平台要求如下:(支持Linux) 继续摸索了一下 ...
- 阿里云ECS屏蔽25端口,官方建议使用465 SSL端口发送邮件
阿里云ECS VPC网络,搭建了zabbix,想通过三方邮件系统发送邮件,本机开虚拟机测试发邮件一切正常,到阿里ECS的时候邮件各种发不出去,到处找原因,最后度娘告诉了我真想,原来阿里把25端口屏蔽 ...
- linux-vmstat-显示虚拟内存状态
推荐:更多linux 性能监测与优化 关注:linux命令大全 vmstat命令的含义为显示虚拟内存状态(“Viryual Memor Statics”),但是它可以报告关于进程.内存.I/O等系统整 ...
- tomcat7解决jsp参数传递的中文乱码问题
解决jsp参数传递的中文乱码问题 制作人:全心全意 在jsp页面中,通过参数传递传递中文时,在显示参数值时中文内容变成了乱码.这是因为请求参数的文字编码方式与页面中的不一致造成的,所有的request ...
- 高德地图将字符串地址转为经纬度的一个demo
<!doctype html> <html> <head> <meta charset="utf-8"> <meta http ...
- log4j.properties配置内容的理解
一直知道log4j是用来记录日志的,但一直没去看log4j到底是怎么用的,这两天看了几个log4j.properties配置语句详解的帖子,在这里简陋地记录一下. 在完全不知道log4j怎么用的时候, ...