Audio 我是否需要我的编解码器是ALSA?

Audio 我是否需要我的编解码器是ALSA?,audio,embedded,pcm,alsa,Audio,Embedded,Pcm,Alsa,我有一个项目,我正在工作,为了这个问题的目的,让我们假设他们是无线扬声器 我们现在正在使用raspberry pi进行开发,但我们计划转向我们自己的嵌入式解决方案。我们选择的编解码器最适合我们的需要,尽管它不是ALSA支持的编解码器。因为在ALSA网页上没有关于它的信息 我发现在raspberry pi上开发的许多PCM代码都使用ALSA流。对于这些类型的项目,使用ALSA编解码器是一种标准吗 我很少使用嵌入式linux或RTOS。我经常使用裸机系统,这解释了我对ALSA到底是什么的困惑。它看起

我有一个项目,我正在工作,为了这个问题的目的,让我们假设他们是无线扬声器

我们现在正在使用raspberry pi进行开发,但我们计划转向我们自己的嵌入式解决方案。我们选择的编解码器最适合我们的需要,尽管它不是ALSA支持的编解码器。因为在ALSA网页上没有关于它的信息

我发现在raspberry pi上开发的许多PCM代码都使用ALSA流。对于这些类型的项目,使用ALSA编解码器是一种标准吗

我很少使用嵌入式linux或RTOS。我经常使用裸机系统,这解释了我对ALSA到底是什么的困惑。它看起来像是某种奇怪的中间件或其他东西。

阿尔萨是

要使用声音的应用程序使用的API;和 实现此API的库;和 该库与内核的接口;和 该接口的核心实现;和 声音驱动程序使用的框架。
要在Linux中支持编解码器,必须编写ALSA驱动程序。

更正:ALSA是一种方法。。。但不是唯一的一个。脉搏是另一种常见的。是的,也有一些丑陋的模仿案例,一个替代另一个。@ChrisStratton没有PulseAudio声音驱动程序;PA总是使用ALSA驱动程序。不,Pulse并不总是使用ALSA驱动程序-它可以在OSS和非linux操作系统上运行。与此更相关的是,ALSA并不是用户空间开发人员可以选择的唯一API,尽管它确实是我倾向于为简单工具选择的API,但编写编解码器驱动程序的唯一可用框架是ALSA。那么,除此之外,您如何才能编写编解码器驱动程序?您到底在尝试构建什么?您是否正在生成希望播放的音频数据?制作声卡的远程替代品?@ChrisStratton我正在尝试制作无线扬声器。我没有生成音频,它是通过使用RTP协议的连接发送给我的。那么这一切都无关紧要-使用你构建的接收器的硬件-它将是RTP连接的源端看不到的内部细节。@ChrisStratton好的,我只是感到困惑,因为PulseAudio似乎使用了ALSA,而我找不到任何关于使用我自己的音响驱动器的文档。你想解决什么问题?接收端?或者,您是否希望为远程源端提供一个接口,客户端可以将音频放入其中,以便通过RTP管道将其发送到您的扬声器?