2011-01-06 106 views
1

我用OpenGL ES渲染并使用OpenAL声音在C++中制作了一个游戏。为了使它在iPhone上工作,我无法使用ALUT,因此我只使用“al.h”和“alc.h”。OpenSL ES中是否有与OpenAL <alc.h>相当的功能?

我现在尝试使用最后一个Android SDK构建我的游戏,该SDK支持本机应用程序,并通过OpenSL ES增加了声音支持。 (我相信OpenSL ES是什么的OpenAL的OpenGL ES是OpenGL的。)

我想知道,如果碰巧有一个相当于“alc.h”文件OpenSL ES:

#if defined (MYAPP_IOS) 
#include <OpenAL/al.h> 
#include <OpenAL/alc.h> 
#elif defined (MYAPP_ANDROID) 
#include <EGL/egl.h> 
    // alc.h equivalent for OpenSL ES here ? 
#else 
#include <AL/al.h> 
#include <AL/alc.h> 
#endif 

如果没有,是否有人知道一种方式来处理OpenSL ES中的上下文和设备,方式与OpenAL类似(或者可能是在不需要“alc.h”的情况下处理这两种方法的方式)。这两个错误的Android NDK,构建回报是这种类型的:

error: ISO C++ forbids declaration of 'ALCcontext' with no type

回答

3

我发现这一点,似乎有你要找的内容在网站上: Android OpenAL?

看来有人是能够编译OpenAL for Android。希望这可以让你开始!

+0

我曾看过它,但我不知道OpenAL的LGPL许可证是否禁止使用它:我必须动态链接OpenAL,这在iPhone上是不可能的,但我不知道它在Android上是否可行(并且容易) 。有人有线索吗? (请参阅http://pielot.org/2010/12/14/openal-on-android/#comment-362了解更多详情 – teupoui 2011-01-07 15:18:21

相关问题