c-ALSA内核API不同于asoundlib API



当我在这些内核文档中看到ALSA(高级linux声音架构(及其api时,我正在阅读如何从linux内核播放音频:https://www.kernel.org/doc/html/latest/sound/kernel-api/alsa-driver-api.html.

然而,似乎大多数试图在linux中播放音频的人都使用asound库,通常也包括在内

#include <alsa/asoundlib.h>

但是当我在这里浏览asoundlibapi时:https://www.alsa-project.org/alsa-doc/alsa-lib/它似乎与我上面链接的内核api没有相同的功能。在这一点上,我很困惑,因为我不确定在播放音频时何时调用内核api和asoundlibapi。

一个很好的例子是asoundlibapi有一个名为snd_pcm_open的函数,用于创建一个句柄和到音频接口的连接。我在内核文档中找不到这个函数。所以我想知道,asoundlib是调用内核api函数,还是这两个api都是正交的?如果它们是正交的,那么kerenel调用asoundlib做什么?

ALSA项目-C库参考

前言部分指出:

高级Linux声音架构(ALSA(带有内核API和API。。。

API使用部分说明:

应用程序程序员应该使用库API,而不是内核API。该库提供了内核API 100%的功能,但增加了可用性方面的主要改进,使应用程序代码更简单、更美观。此外,将来的修复程序或兼容性代码可能会放在库代码中,而不是放在内核驱动程序中。

相关内容

  • 没有找到相关文章

最新更新