繁体   English   中英

音频库C ++,可用于多种平台(iPhone,Android等)

[英]Audio Library C++ for a multicross platform use (iphone, android…)

我正在尝试制作一个C ++引擎,该引擎将读取mp3文件,并根据读取声音文件的时间进行一些图像缩放/翻译。 我想我可以使用OpenGL ES渲染我想要的东西,并在C ++文件中调用一些OpenGL ES指令,然后在Obj-C / Java中初始化绘图环境。 我想对声音做同样的事情,但是我真的不知道该用什么,是否真的可以用C ++做到。

我搜索了图书馆,所以找到了Bass和Fmod(并非免费用于商业用途)。 他们说这是一个多平台平台(Windows,Unix,MacOS),但我不知道它是否适合移动设备,以及我是否真的可以使用它。 有没有人经历过这个? 您是否建议我另一个免费图书馆?

再次感谢,对于我的英语不好,我深表歉意,

阿尔诺

看看libpd(嵌入式应用程序的纯数据)

http://download.puredata.info/libpd (该库是最近发布的,但是代码确实非常成熟)

http://createdigitalmusic.com/2010/10/libpd-put-pure-data-in-your-app-on-an-iphone-or-android-and-everywhere-free/

音频通常是有问题的,并且编写自己的高级API来实现您想要做的事情(以及其他所有事情)几乎总是一个好主意,并假设您随后将在音频和任何音频之间编写一个薄层您正在使用的库。 如果您很幸运,并且有一个可用的库可以像您做的那样处理事情,那么这很简单。 如果没有,至少仍然有可能。 无论哪种情况,您的应用程序代码都不会绑定到外部声音API。

多年来,我已经在PC,Mac和iPhone的多个不同的商业项目中使用了FMOD,并且一直很喜欢它-但是它不是免费的。 我不知道,OpenAL一直看起来有点过时:笨拙? 但是,您只需要在编写API层时对其进行处理,并且您的应用程序代码就不必看到它。

我从事商业游戏已有20年了,所以我很容易说“编写自己的API”,所以我知道我认为音频API应该是什么样子。 如果您对自己的想法不了解,那么建议您看一个对您有意义的第三方库,并从中获取您将要使用的函数并编写自己的API来实现。一组除了调用它们外什么都不做的函数。

由于您可以免费使用OpenAL和FMOD进行开发,因此可以使您的API都可以使用,并且有可能与您遇到的任何其他问题一起使用。

OpenAL可能是您最好的选择。 看这个答案: Android OpenAL?

似乎可以在Android上编译OpenAL。

如果仅在寻找PCM音频输入/输出(而不是MP3解码),请尝试使用PortAudio或RTAudio RtAudio或PortAudio,该使用哪一个?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM