C++ 跨平台实时MP3录音机

C++ 跨平台实时MP3录音机,c++,mp3,sdl,lame,sox,C++,Mp3,Sdl,Lame,Sox,我有一个SDL应用程序,可以在Linux、Mac和Windows下运行。它有点像媒体播放器,可以很好地播放音频。我想给它添加录音功能,但我想把它实时编码成MP3。有人能给我举个例子吗?我如何使用LibLame、LibSoX或其他库来实现这一点 --或-- 我也愿意把整个事情改写成比C++更容易管理的东西。我已经看过了使用Lua的和,但是录音仍然是一个问题。如果您知道任何工具包: 是跨平台的 帮助您使用自己的图形构建GUI 可以播放和录制mp3文件 理想情况下可以在帧缓冲区下运行(Linux下没

我有一个SDL应用程序,可以在Linux、Mac和Windows下运行。它有点像媒体播放器,可以很好地播放音频。我想给它添加录音功能,但我想把它实时编码成MP3。有人能给我举个例子吗?我如何使用LibLame、LibSoX或其他库来实现这一点

--或--

我也愿意把整个事情改写成比C++更容易管理的东西。我已经看过了使用Lua的和,但是录音仍然是一个问题。如果您知道任何工具包:

  • 是跨平台的
  • 帮助您使用自己的图形构建GUI
  • 可以播放和录制mp3文件
  • 理想情况下可以在帧缓冲区下运行(Linux下没有X窗口服务器)
请让我知道。我在看Python+Pygame+Pyaudio,它可以制作图形和输出声音,但仍然不能录制MP3,只能录制WAV。有没有办法将LAME集成到这个系统中以使其工作?

几乎可以播放任何东西,也可以处理音频输入,尽管我不知道集成整个音频引擎对您的项目来说是否有点过分。 非商业用途是免费的

至于编码,LAME无疑是MP3事实上的选择。
有一个非常简单的库,名为lame_enc.dll,它将lame的功能封装在一个简单的API中。它仅适用于Windows,但您可以查看它的源代码,以获得有关如何使用LAME的良好参考。

我以前使用过FMOD,但我无法在非Windows平台上将音频录制到MP3,因此不幸的是,它不适合:(。