tommyk
tommyk

Reputation: 3307

C++ multiplatform library to playback /record audio (.wav, .ogg)

I have a multiplatform application and want to add audio annotations functionality. I am looking for audio playback /recording library that is:

I saw gstreamer but I have the feeling that is it too advanced for my simple use cases

Upvotes: 3

Views: 5767

Answers (3)

rubenvb
rubenvb

Reputation: 76519

I'm sure ffmpeg fits the bill. Format support is near infinite and it has proven its worth. Unfortunately, it will need a UNIX-like shell to build. You don't need Cygwin though, but can use MSYS for that, for which you can find an up-to-date binary distribution here. It may be overkill for simple audio (record) functionality, but you mention the ability to support different formats. You cannot compile ffmpeg with Visual C++ compilers, but you can use it once the library is built by GCC or other C99 compliant compiler.

Upvotes: 0

Matt K
Matt K

Reputation: 13832

I have used sox, but it seems currently broken for recording on Macs. If you can record from your device without it, it has nice file-handling features.

PortAudio is used in a high-profile sound app, Audiomulch.

I haven't used RtAudio, but I've used projects that use it. It handles JACK, CoreAudio, ALSA, OSS, DirectSound, and ASIO.

libsndfile is a common dependency for projects that need to deal with audio files as an alternative to sox.

Upvotes: 1

Christian Severin
Christian Severin

Reputation: 1831

Did you look into SDL? That should be able to play OGG files and WAV files.

Upvotes: 1

Related Questions