当我在这些内核文档中遇到 ALSA(高级 linux 声音架构)及其 api 时,我正在阅读如何从 linux 内核播放音频:https ://www.kernel.org/doc/html/latest/sound /kernel-api/alsa-driver-api.html。
然而,似乎大多数尝试在 linux 中播放音频的人都使用 asound 库,通常包括在内。
#include <alsa/asoundlib.h>
但是当我在asoundlib
这里查看 api 时:https ://www.alsa-project.org/alsa-doc/alsa-lib/它似乎没有与我上面链接的内核 api 相同的功能。此时我很困惑,因为我不确定在播放音频时何时调用内核 api 与 asoundlib api。
一个很好的例子是asoundlib
api 有一个调用函数snd_pcm_open
来创建句柄和连接到音频接口。我无法在内核文档中找到此功能。所以我想知道,是asoundlib
调用内核api函数还是这两个api都是正交的?如果它们是正交的,那么内核调用会asoundlib
做什么?