如何安装和设置使用 PortAudio 的环境?

Sre*_*ram 6 compiling c++ software-installation

我对 Ubuntu 很陌生,我发现安装程序/库很困难。如何使用终端在 Ubuntu 中安装和构建 PortAudio?

Art*_*yan 7

以下内容在 Ubuntu 16.04 上对我有用:

sudo apt-get install libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0
sudo apt-get install ffmpeg libav-tools
Run Code Online (Sandbox Code Playgroud)


Dnr*_*vil 5

安装 ALSA 开发套件

OSS 声音 API 非常老旧,没有得到很好的支持。建议您使用 ALSA 声音 API。PortAudio 配置脚本将查找 ALSA SDK。您可以使用以下命令在 Ubuntu 上安装 ALSA SDK:

sudo apt-get install libasound-dev
Run Code Online (Sandbox Code Playgroud)

您可能需要在您的机器上使用 yum 或其他一些包管理器,而不是 apt-get。如果您没有安装 ALSA,那么您在测试时可能会收到一条消息,说您没有音频设备。

您可以在此处找到有关 ALSA 的更多信息:http : //www.alsa-project.org/

配置和编译 PortAudio

您可以使用标准的配置/制作工具在 Linux 环境中构建 PortAudio:

./configure && make
Run Code Online (Sandbox Code Playgroud)

这将使用 Jack、ALSA 和 OSS 以它们在您的系统上找到的任何组合来构建 PortAudio。例如,如果您有 Jack 和 OSS 但没有 ALSA,它将使用 Jack 和 OSS 而不是 ALSA 构建。这一步还构建了一些测试,可以在PortAudio的bin目录下找到。运行其中一些测试以确保 PortAudio 正常工作是个好主意。

在您的项目中使用 PortAudio

要在您的应用程序中使用 PortAudio,您只需安装 .so 文件:

sudo make install
Run Code Online (Sandbox Code Playgroud)

以这种方式构建的项目需要在目标系统上安装 PortAudio 才能运行。如果你想构建一个更独立的二进制文件,你可以使用 libportaudio.a 文件:

cp lib/.libs/libportaudio.a /YOUR/PROJECT/DIR
Run Code Online (Sandbox Code Playgroud)

在某些系统上,您可能需要使用:

cp /usr/local/lib/libportaudio.a /YOUR/PROJECT/DIR
Run Code Online (Sandbox Code Playgroud)

您可能还需要将 PortAudio 的 include/ 目录中的 portaudio.h 复制到您的项目中。请注意,您通常需要链接您使用的适当库,例如 ALSA 和 JACK,以及 librt 和 libpthread。例如:

gcc main.c libportaudio.a -lrt -lm -lasound -ljack -pthread -o YOUR_BINARY
Run Code Online (Sandbox Code Playgroud)

参考