(事实上,plug device也存在,也使用plug plugin,并且它的参数SLAVE指明数据要发送到哪里,因此这个plugin一定和其他的plugins链接到一起) 此外一个很有用的plugin是file plugin,它会把采样数据写到一个文件中。它有两个ALSA devices:file 和 tee。前者有两个参数,文件名和格式。后者传送数据到另外一个device以便写到...
device_add() 函数调用 device_create_file() 和 devtmpfs_create_node() 等函数在 sysfs 和 devtmpfs 文件系统中创建文件。 内核各模块通过 devtmpfs_create_node() 函数创建 devtmpfs 文件,这个函数定义 (位于 drivers/base/devtmpfs.c) 如下: static int devtmpfs_submit_req(struct req *req, const char *...
_root:声卡设备在proc文件系统的根目录;即/proc/asound/card%d目录; proc_root_link:指向/proc/asound/card%d的链接文件,文件名为id; files_list:保存此声卡相关的所有文件的链表;链表中存放的数据类型为struct snd_monitor_file; s_f_ops:关机状态下的文件操作; files_lock:自旋锁; shutdown:此声卡正在关闭...
此外一个很有用的plugin是file plugin,它会把采样数据写到一个文件中。它有两个ALSA devices:file 和 tee。前者有两个参数,文件名和格式。后者传送数据到另外一个device以便写到一个文件中,第一个参数就是那个device。如果第二个设备有任何参数(比如 "plughw:0,0"),那么你要把他的名字用引号括起来,以防止被...
4、alsa-plugin:alsa插件。 5、alsa-tools:alsa工具。 在应用层,ALSA 为我们提供了 alsa-lib,在 Linux 内核设备驱动层,ALSA 提供了alsa-driver。 Linux 应用程序只需要调用 alsa-lib 提供的 API,即可完成对底层音频硬件的控制。 linux内核中alsa的软件结构如下: ...
File plugin的作用是将PCM数据流存储到文件中。 此外,通常alsa.conf还会载入cards/aliases.conf ,设置一些声卡的别名等,这个我是不需要了。 在aliases.conf 的结尾还有以下一段: <confdir:pcm/default.conf> <confdir:pcm/dmix.conf> <confdir:pcm/dsnoop.conf> 用来读入/usr/share/alsa/pcm目录下所列的那3...
4、alsa-plugin:alsa插件。 5、alsa-tools:alsa工具。 在应用层,ALSA 为我们提供了 alsa-lib,在 Linux 内核设备驱动层,ALSA 提供了alsa-driver。 Linux 应用程序只需要调用 alsa-lib 提供的 API,即可完成对底层音频硬件的控制。 linux内核中alsa的软件结构如下: ...
file: 主要用于问题定位,将pcm数据直接保存的文件里面供调试使用。 dsnoop: 与dmix 刚好相反,他是将DAC录音的pcm 数据分发给多个client。 hw: 与alsa-driver操作的接口 multi: 将多个声卡的合并为一个虚拟的pcm 节点,即对不同的声卡的pcm 进行merge
03)设置alsa 内置的一些plugin 接口参数,例如file:pcm.file {@args [ FILE FORMAT ]@args.FILE ...
#--with-plugindir=/usr/local/lib/alsa_lib sudo make clean sudo make && sudo sudo PATH=$PATH make install 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 关于配置参数的2点说明: