如何从用户空间向alsa注册虚拟卡?

Spe*_*ave 2 linux audio virtualization kernel device

我正在从用户空间开发虚拟设备

(使用umview http://wiki.virtualsquare.org/wiki/index.php/UMview),因此,我需要将设备注册到系统的声卡列表中

(我从未在内核模块中使用过alsa,所以我认为我需要调用snd_card_register()函数)

但我找不到从用户空间执行此操作的方法...

也许我可以编写一个syscall来做到这一点?

Jan*_*dec 5

我认为您应该不再烦扰覆盖任何特定文件(即停止使用umview,这是不需要的),而只需使用“文件”插件ALSA配置中创建设备,该设备将通过命名管道将数据通过管道传输到您的虚拟设备/var/run/virtualsound/output或类似的地方。

与umview方法不同,它可以在所有应用程序中运行,而不必以任何特殊方式运行它们。