ソースを参照

implent pause and unpause jni binds

mikymod 12 年 前
コミット
7db46b4e70

+ 14 - 0
engine/os/android/AndroidDevice.cpp

@@ -27,6 +27,7 @@ OTHER DEALINGS IN THE SOFTWARE.
 #include <jni.h>
 #include "Device.h"
 #include "Renderer.h"
+#include "SoundRenderer.h"
 
 namespace crown
 {
@@ -111,4 +112,17 @@ extern "C" JNIEXPORT void JNICALL Java_crown_android_CrownLib_shutdownRenderer(J
 	device()->renderer()->shutdown();
 }
 
+//-----------------------------------------------------------------------------
+extern "C" JNIEXPORT void JNICALL Java_crown_android_CrownLib_pauseSoundRenderer(JNIEnv* /*env*/, jobject /*obj*/)
+{
+	device()->sound_renderer()->pause();
+}
+
+//-----------------------------------------------------------------------------
+extern "C" JNIEXPORT void JNICALL Java_crown_android_CrownLib_unpauseSoundRenderer(JNIEnv* /*env*/, jobject /*obj*/)
+{
+	device()->sound_renderer()->unpause();
+
+}
+
 } // namespace crown

+ 4 - 0
engine/os/android/java/CrownLib.java

@@ -65,6 +65,10 @@ public class CrownLib
 	public static native void		initRenderer();
 	public static native void		shutdownRenderer();
 
+	// SoundRenderer functions
+	public static native void		pauseSoundRenderer();
+	public static native void		unpauseSoundRenderer();
+
 	// InputManager functions
 	public static native void 		pushTouchEvent(int type, int pointer_id, int x, int y);
 	public static native void 		pushAccelerometerEvent(int type, float x, float y, float z);	

+ 1 - 0
engine/os/android/java/CrownMainThread.java

@@ -57,6 +57,7 @@ public class CrownMainThread extends Thread
 		else
 		{
 			CrownLib.initRenderer();
+			CrownLib.unpauseSoundRenderer();
 			CrownLib.unpauseDevice();
 		}
 

+ 2 - 0
engine/os/android/java/CrownSurfaceView.java

@@ -108,6 +108,8 @@ public class CrownSurfaceView extends SurfaceView implements SurfaceHolder.Callb
 
 		CrownLib.shutdownRenderer();
 
+		CrownLib.pauseSoundRenderer();
+
 		Log.d(TAG, "Crown Surface destroyed");
 	}