用于多跨平台使用的音频库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),但我不明白它是否适合移动设备,以及我是否真的能使用它。有人经历过吗?你推荐给我另一个免费图书馆吗?
再次感谢,我为我糟糕的英语道歉,
Arnaud
了解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层时处理它,你的应用程序代码永远不需要看到它
我很容易说"写你自己的API",因为我已经写了20年的商业游戏,所以我知道我认为API音频应该是什么样子。如果你没有自己的想法,那么我建议你看一个对你有意义的第三方库,从中提取你将要使用的函数,并编写自己的API,使其成为一组只调用这些函数的函数。
由于您可以免费使用OpenAL和FMOD进行开发,因此您可以使您的API同时使用这两种API,而且很有可能会与您遇到的任何其他API一起使用。
OpenAL可能是你最好的选择。看看这个答案:Android OpenAL?
在Android上编译OpenAL似乎是可能的。
如果您只寻找PCM音频输入/输出(而不是MP3解码),请尝试PortAudio或RTAudioRtAudio或PortAudio,使用哪一个?
- 从iPhone相机拍摄的视频似乎被OpenCV旋转了90度?我该如何解决这个问题?
- Opencv 功能匹配在 iPhone 上中断,但在模拟器上不会中断
- 在iPhone上编译/运行C++代码
- 在不编写任何Objective-C代码的情况下,是否可以在C 中开发iPhone/iPad应用程序
- iOS + C++ 中的图像处理在 iphone 应用程序中
- 如何从 C Microsoft PC 应用程序向 iPhone 发送 APNS 推送通知
- 为iPhone sdk编译swiften库
- iPhone中GLSL ES 2.0上多点光源的2D照明
- OpenGL ES在带有C++的iPhone上
- iPhone在个人热点模式下未发送网络广播/多播
- fbDidLogin在iPhone应用程序上从C++调用时未启动
- 网络应用程序可以在模拟器中运行,但不能在iPhone上运行
- Boost.Coroutine在iPhone上崩溃
- 检测某个范围内的其他iPhone
- 将视频从熊猫板流式传输到 iPhone
- 在C++中获取iPhone目录路径
- 我们可以在iPhone项目中使用用C ++编写的库吗?
- 在iPhone上调试一个晦涩的错误
- 如何获得iPhone 6或6 Plus的确切屏幕尺寸
- iPhone C++/Objective-C exceptions