1

我有一个 SDL 应用程序,可以在 Linux、Mac 和 Windows 下运行。它有点像媒体播放器,可以很好地播放音频。我想为其添加录音功能,但我想将其实时编码为 MP3。谁能指出我如何使用 LibLame、LibSoX 或其他库来实现这一目标的示例?

- 或者 -

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

  • 是跨平台的
  • 帮助您使用自己的图形构建 GUI
  • 可以播放和录制mp3文件
  • 理想情况下可以在帧缓冲区下运行(Linux 下没有 X Window 服务器)

请告诉我。我在看 Python + Pygame + Pyaudio,它可以做图形和输出声音,但仍然不能录制 MP3,只能录制 WAV。有什么方法可以将 LAME 集成到其中以使其工作?

4

1 回答 1

2

FMOD can play practically anything, and handle audio input as well, although I don't know if integrating an entire audio engine is a bit overkill for your project. It's free for non-commercial usage.

As for encoding, LAME is definitely the de-facto choice for MP3. There's a very simple library called lame_enc.dll which wraps LAME's capabilities in a simple API. It's Windows only, but you could look at it's source for a good reference on how to use LAME.

于 2012-03-05T14:37:01.850 回答