Time for action – creating OpenSL ES engine and output
Let's create a new manager dedicated to sounds:
- Create a new file
jni/SoundManager.hpp
.First, include the OpenSL ES standard header
SLES/OpenSLES.h
. The two latter define objects and methods and are specifically created for Android. Then, create theSoundManager
class to do the following:- Initialize OpenSL ES with the
start()
method - Stop the sound and release OpenSL ES with the
stop()
method
There are two main kinds of pseudo-object structures (that is, containing function pointers applied on the structure itself, such as a C++ object with this) in OpenSL ES:
- Objects: These are represented by
SLObjectItf
, which provides a few common methods to get allocated resources and object interfaces. This could be roughly compared to an object in Java. - Interfaces: These give access to object features. There can be several interfaces for an object. Depending on the host device, some interfaces may or may not be available. These are very roughly...
- Initialize OpenSL ES with the