用于嵌入式应用的音频(MP3)编解码器

时间:2009-03-15 13:53:13

标签: c audio embedded mp3 codec

我正在寻找一个基于软件的编解码器库,用于嵌入式应用程序(C / C ++)。我对商业和免费的编解码库感兴趣。任何建议都会受到欢迎。

此外,如果您对OpenSL ES有任何经验并且知道哪些软件/硬件解决方案兼容,我将很高兴听到它。

我需要支持流行的编解码器。 MP3是必须的。我正在为嵌入式应用程序实现媒体播放器参考,不能只告诉用户:“嘿,你把所有的音乐库转换为Vorbis;它要好得多。”必须支持MP3编解码器,但我很乐意找到更高级的库来处理更多编解码器(更多音频编解码器,视频编解码器等)

4 个答案:

答案 0 :(得分:2)

看看libvorbis,这是一个非常好的开源BSD音频编解码器。还有一个名为Tremor的vorbis参考解码器,它只使用整数运算,因此可用于没有浮点的体系结构。

答案 1 :(得分:1)

Vorbis编解码器是开源的,是MP3的一个很好的替代品。

在快速浏览一下OpenSL ES API后,似乎已经定义了一些编解码器:

#define SL_AUDIOCODEC_PCM         ((SLuint32) 0x00000001)
#define SL_AUDIOCODEC_MP3         ((SLuint32) 0x00000002)
#define SL_AUDIOCODEC_AMR         ((SLuint32) 0x00000003)
#define SL_AUDIOCODEC_AMRWB       ((SLuint32) 0x00000004)
#define SL_AUDIOCODEC_AMRWBPLUS   ((SLuint32) 0x00000005)
#define SL_AUDIOCODEC_AAC         ((SLuint32) 0x00000006)
#define SL_AUDIOCODEC_WMA         ((SLuint32) 0x00000007)
#define SL_AUDIOCODEC_REAL        ((SLuint32) 0x00000008)

你可能应该知道你是否仅限于那些。

答案 2 :(得分:1)

免责声明,完全披露等:我目前在那里作为承包商工作。

首先,您是否只对解码器或完整编解码器(解码器+编码器)感兴趣?

我想答案取决于你的具体情况。如果您正在为嵌入式平台寻找完整的播放器,NXP Software可能是一个解决方案。它们也提供其他应用程序,例如记录器。

答案 3 :(得分:1)

编码或解码?

LAME(mp3)和FFmpeg(几乎所有其他内容,音频和视频)应该可以解决问题,但我相信带有FFmpeg的Vorbis编码器质量很差,你应该尽可能使用单独的编码器。 (我不知道这个建议是否仍然是最新的。)

免责声明:我最近一直在阅读有关编解码器的内容,但我还没有对它们做任何事情,所以我真的不知道我在说什么。