C ++ mp3解码库 [英] C++ mp3 decoding library

查看:191
本文介绍了C ++ mp3解码库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我精疲力竭地寻找c ++ mp3解码库,最好是免费的(如lgpl)和跨平台的,或者是Windows和Mac.谁能建议这样的库并发布一些使用它的教程?
ffmpeg和sdl(sdl_sound,sdl_mixer)不会编译.我无法使mpg123工作-仅适用于linux world还是什么?是否有一些在Windows上使用mpg123的教程? mpg123无法找到某些符号,这是我没有将某些dll放在正确的路径上-但这是什么?

总的来说,我希望能够在Windows和Mac上读取并纠正所有主要的音频文件格式-从Windows开始.

I am exhausted searching for a c++ mp3 decoding library, preferably free (like lgpl) and cross-platform or for windows and mac. Can anyone suggest such library and post some tutorial for using it?
ffmpeg and sdl (sdl_sound, sdl_mixer) aren''t compiling. I am unable to get mpg123 working - is it for linux world only or what? Is there some tutorial on using mpg123 on windows? mpg123 is unable to find some symbols that is I am not putting some dll''s at right path - but which?

Overall, I want be able to read and right all major audio file formats on windows and mac - starting with windows.

推荐答案

It ^ ]实际上,您可以(交叉)编译ffmpeg.
It looks[^] you may actually (cross) compile ffmpeg.


您到底想对解码后的文件做什么?

a)如果要播放,请使用irrKlang.我用过的,很容易理解.有C ++和C#绑定.它还支持许多文件(* .mp3,*.ogg,*.wav,*.flac,*.ogg甚至* .mod(amiga模块).irrKlang必须具有免费和商业许可证).

b)如果要从文件中获取标签(或保存到文件),请使用TagLib(对于C ++,C,Python,Perl和Ruby)或TagLib-Sharp(对于C#).我也用过它,非常有趣. LGPL

c)如果您想使用一些快速傅里叶变换的东西,也有一些库,但是我没有使用它们.我保存了一些指向他们的链接,但我没有在这台PC上.如果您需要它们,请告诉我,我会进行搜索.

P.S
irrKlang不会为您提供标签,而使用TagLib则无法播放音频文件,因此如果需要播放和添加标签,则需要同时使用它们.

如果您对他们有任何疑问,可以给我写信.


哦!关于多平台:您听说过Qt吗?如果没有,你应该.这真的是一个很棒的工具.
What exactly you want to do with decoded file?

a) If you want to play it, use irrKlang. I used it, is easy to understand. There are C++ and C# bindings. It also support many of files (*.mp3, *.ogg, *.wav, *.flac, *.ogg even *.mod (amiga modules). irrKlang have to licenses, free and commercial.

b) If you want to get tags from file(or save to file) use TagLib (for C++, C, Python, Perl and Ruby) or TagLib-Sharp for C#. I also used it and it''s quite enjoyable. It''s LGPL

c) If you want to use some Fast-Fourier Transformation stuff there are also some libraries, but I didn''t use them. I saved some link to them but I don''t have on this PC. If you need them, just tell me, I will search for it.

P.S
irrKlang will not give you tags, and with TagLib you can''t play audio files, so you will need to use both of them if you need to play and to tag.

If you have some problem with them you can write to me PM.

Edited:
O! And about multi-platform: did you heard about Qt? If not you should. It is really awesome tool.


BASS音频库 [
许可证:"BASS对于非商业用途是免费的.如果您是非商业实体(例如个人),并且您没有从产品中赚钱(通过销售,广告等) ),那么您可以免费使用其中的BASS."

为了完整起见,我会添加"
LAME [ ^ ]-根据LGPL许可的高质量MPEG Audio Layer III(MP3)编码器."
How about BASS audio library [^]

"BASS is an audio library for use in software on several platforms. Its purpose is to provide developers with powerful and efficient sample, stream (MP3, MP2, MP1, OGG, WAV, AIFF, custom generated, and more via OS codecs and add-ons), MOD music (XM, IT, S3M, MOD, MTM, UMX), MO3 music (MP3/OGG compressed MODs), and recording functions. All in a compact DLL that won''t bloat your distribution."

License: "BASS is free for non-commercial use. If you are a non-commercial entity (eg. an individual) and you are not making any money from your product (through sales, advertising, etc), then you can use BASS in it for free."

For completeness i would add "LAME[^]- a high quality MPEG Audio Layer III (MP3) encoder licensed under the LGPL."


这篇关于C ++ mp3解码库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆