2011-01-06 55 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

相關問題