C++常用的音频工具库

  • Post author:
  • Post category:其他


由于C++这种语言改装于C语言,它在C语言的基础上加了继承、封装、多态,使编程风格更接近面向对象(OO:object-oriented),在游戏开发、服务器编程、音视频处理、网络通信等领域应用非常广泛。这里介绍几种常用的音频工具库。



1、irrKang


irrKang

是一种开源、小巧的音频工具库,支持x86或x64的Linux、Windows、Mac系统,在官网提供已经编译好的lib文件、头文件。

既支持Qt,也支持MFC

。个人用户使用免费,企业用户使用收费。推荐指数五颗星☆☆☆☆☆。



2、YSE


YSE

是一种开源的3D音频引擎,支持跨平台编译(Linux,Windows、Mac)。它对Qt的支持非常好,但对MFC的支持较弱。免费使用,遵循Eclipse协议即可。推荐指数五颗星☆☆☆☆☆。



3、FFmpeg


FFmpeg

是开源的音视频处理库,对音频、视频流的编码与解码非常方便,这个库很强大,包括libavcodec解码库、libavformat格式转换库,在抖音、快手、剪映等热门软件的安装包里可以解压出这些包。推荐指数五颗星☆☆☆☆☆。



4、FMOD


FMOD

是一个专为视频游戏和应用程序设计的声音效果引擎和创作工具,它一种

商用的

音视频引擎,采用许可证机制进行批量使用,推荐指数四颗星☆☆☆☆。



5、CLAM


CLAM

是一个软件框架,主要用于音频和音乐领域的研究,也是

开源并免费

的,支持Linux、Windows、Mac这3种操作系统,更加灵活。推荐指数四颗星☆☆☆☆。



6、Bass


BASS

是一个音频库,适用于多个平台(Linux、Windows、Mac等)、多种语言(C/C++,Visual Basic、Delphi等语)。它的目的是为开发者提供强大而有效的采样流、音频流(MP3、MP2、MP1、OGG、WAV、AIFF、自定义生成的,以及更多通过操作系统编解码器和插件生成的)、MOD音乐(XM、IT、S3M、MOD、MTM、UMX)、MO3音乐(MP3/OGG压缩的MOD)和录音功能。所有这些都在一个紧凑的DLL中,非常小巧。

也提供了C/C++、Delphi、.Net、Visual Basic的API,并有对应的案例学习使用。BASS也适用于UWP平台。个人使用免费,企业使用收费。推荐指数四颗星☆☆☆☆。



7、JUSE


JUCE

是一个

部分开源

的跨平台c++应用程序框架,支持Linux、WIndows、Mac、iOS、Android系统(即PC机和手机,都支持),最常用于音频插件(如合成器)。到2022年,JUSE最新的版本为v7。个人使用免费,企业使用收费。推荐指数四颗星☆☆☆☆。



8、SoundTouch


SoundTouch

是一个开源音频处理库,用于改变音频流或音频文件的速度、音高和音频播放速率。该库还支持为音频轨道估算稳定的每分钟节拍率。支持Linux、WIndows、Mac、iOS、Android系统。遵循LPGL许可证,免费使用。推荐指数五颗星☆☆☆☆☆。



9、PortAudio


PortAudio

是一个免费的、跨平台的、开源的音频I/O库。 它可以让你用’C’或C++编写简单的音频程序,可以在许多平台上编译和运行,包括Windows、Macintosh OS X和Unix(OSS/ALSA)等系统。它的目的是促进不同平台上的开发者之间使用并交流音频软件。许多应用程序使用PortAudio进行音频的输入输出。它只提供了源码,如果需要lib文件,则需要配置环境并编译源码才能得到对应的lib文件。推荐指数四颗星☆☆☆☆。



10、SoLound


SoLoud

是一个C/C++音频引擎,为游戏提供音频播放器、示例播放和过滤器。

SoLoud包括对各种wav格式的支持,包括8、16、32位、浮动、双倍、pcmcia等,以及Ogg Vorbis和MP3文件。它是开源并且免费的,但只有源码,需要自己配置环境并编译成DLL。推荐指数四颗星☆☆☆☆。



版权声明:本文为sanqima原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。