【发布时间】:2022-01-17 10:39:37
【问题描述】:
当我在以下内核文档中遇到 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 的内核调用是什么?
【问题讨论】:
标签: c linux kernel alsa libasound