gpt4 book ai didi

linux - 如何编写符合 ALSA 的虚拟设备驱动程序?

转载 作者:行者123 更新时间:2023-12-05 00:52:49 24 4
gpt4 key购买 nike

我想将虚拟 ALSA 兼容驱动程序编写为可加载的内核模块。当通过 ALSA-lib 通过 aplay/arecord 访问它时,假设它必须像普通的 7.1 声道音频设备一样至少提供所有基本控制 - 采样率、声道数、格式等......
在下面,它将只从音频流中获取每个 channel ,并将其作为 UDP 数据包流通过网络发送。
它必须能够被多次加载,最终它会在/dev 下暴露尽可能多的音频设备。这样,我们将在系统中拥有多个虚拟声卡。

这种内核模块的最小结构应该是什么?
你能给我一个 100% 符合 ALSA 的示例框架(至少是接口(interface))吗?
ALSA 驱动程序示例太差了……

最佳答案

我想我刚刚找到了我需要的东西。
没有比内核树中 sound/drivers 目录下的“dummy”和“aloop”模板更好的 ALSA 接口(interface)示例了:
https://alsa-project.org/main/index.php/Matrix:Module-dummy
https://www.alsa-project.org/main/index.php/Matrix:Module-aloop
我只需要实现网络部分。
编辑:
为一个非常简单但必不可少的虚拟 ALSA 驱动程序添加另一个项目:
https://alsa-project.org/main/index.php/Minivosc
编辑 2020_09_25:
另一个伟大的 ALSA 例子:
https://www.openpixelsystems.org/posts/2020-06-27-alsa-driver/

关于linux - 如何编写符合 ALSA 的虚拟设备驱动程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42178824/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com