Пример #1
0
char *getStringElements(JNIEnv *jenv, jstring string) {
	if(string) {
		jbyteArray array = (jbyteArray)jenv->CallObjectMethod(string, getGetBytesId(jenv));
		return getByteArrayElements(jenv, array);
	}
	return 0;
}
Пример #2
0
JNIEXPORT jint JNICALL Java_org_jouvieje_fmodex_FmodExJNI_Sound_1getTag(JNIEnv *java_env, jclass jcls, jlong jpointer, jbyteArray jname, jint jindex, jlong jtag) {
	POINTER_TYPE pointer = (POINTER_TYPE)jpointer;
	const char *name = (const char *)getByteArrayElements(java_env, jname);
	int index = (int)jindex;
	FMOD_TAG *tag = 0;
	if(jtag) {
		POINTER_TYPE tagTmp = (POINTER_TYPE)jtag;
		tag = N2J_CAST_PTR(tagTmp, FMOD_TAG *);
	}

	FMOD_RESULT result_ = N2J_CAST_PTR(pointer, FMOD::Sound *)->getTag(name, index, tag);

	releaseByteArrayElements(java_env, jname, (const char *)name);
	return (jint)result_;
}
Пример #3
0
JNIEXPORT jint JNICALL Java_org_jouvieje_fmodex_FmodExJNI_Sound_1addSyncPoint(JNIEnv *java_env, jclass jcls, jlong jpointer, jint joffset, jint joffsettype, jbyteArray jname, jobject jpoint) {
	POINTER_TYPE pointer = (POINTER_TYPE)jpointer;
	int offset = (int)joffset;
	FMOD_TIMEUNIT offsettype = (FMOD_TIMEUNIT)joffsettype;
	const char *name = (const char *)getByteArrayElements(java_env, jname);
	FMOD_SYNCPOINT *point/* = 0*/;

	FMOD_RESULT result_ = N2J_CAST_PTR(pointer, FMOD::Sound *)->addSyncPoint(offset, offsettype, name, &point);

	releaseByteArrayElements(java_env, jname, (const char *)name);
	if(jpoint) {
		POINTER_TYPE newAddress/* = 0*/;
		N2J_CAST_PTR(newAddress, FMOD_SYNCPOINT *) = point;
		setPointerAddress(java_env, jpoint, newAddress);
	}
	return (jint)result_;
}