MCPcopy Create free account
hub / github.com/GarageGames/Torque2D / ChangeVolume

Function ChangeVolume

engine/source/platformAndroid/T2DActivity.cpp:110–171  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

108}
109
110void ChangeVolume(bool up) {
111
112 // Attaches the current thread to the JVM.
113 jint lResult;
114 jint lFlags = 0;
115 JavaVM* lJavaVM = platState.engine->app->activity->vm;
116 JNIEnv* lJNIEnv = platState.engine->app->activity->env;
117
118 JavaVMAttachArgs lJavaVMAttachArgs;
119 lJavaVMAttachArgs.version = JNI_VERSION_1_6;
120 lJavaVMAttachArgs.name = "NativeThread";
121 lJavaVMAttachArgs.group = NULL;
122
123 lResult=lJavaVM->AttachCurrentThread(&lJNIEnv, &lJavaVMAttachArgs);
124 if (lResult == JNI_ERR) {
125 return;
126 }
127
128 // Retrieves NativeActivity.
129 jobject lNativeActivity = platState.engine->app->activity->clazz;
130 jclass ClassNativeActivity = lJNIEnv->GetObjectClass(lNativeActivity);
131
132 // Retrieves Context.AUDIO_SERVICE.
133 jclass ClassContext = lJNIEnv->FindClass("android/content/Context");
134 jfieldID FieldAUDIO_SERVICE =lJNIEnv->GetStaticFieldID(ClassContext,"AUDIO_SERVICE", "Ljava/lang/String;");
135 jobject AUDIO_SERVICE = lJNIEnv->GetStaticObjectField(ClassContext, FieldAUDIO_SERVICE);
136
137 // Runs getSystemService(AUDIO_SERVICE)
138 jclass ClassAudioManager = lJNIEnv->FindClass("android/media/AudioManager");
139 jmethodID MethodGetSystemService = lJNIEnv->GetMethodID(ClassNativeActivity, "getSystemService","(Ljava/lang/String;)Ljava/lang/Object;");
140 jobject lAudioManager = lJNIEnv->CallObjectMethod(lNativeActivity, MethodGetSystemService, AUDIO_SERVICE);
141
142 //get AudioManager.STREAM_MUSIC
143 jfieldID FieldSTREAM_MUSIC =lJNIEnv->GetStaticFieldID(ClassAudioManager,"STREAM_MUSIC", "I");
144 jint STREAM_MUSIC = lJNIEnv->GetStaticIntField(ClassAudioManager, FieldSTREAM_MUSIC);
145
146 //get AudioManager.FLAG_SHOW_UI
147 jfieldID FieldFLAG_SHOW_UI =lJNIEnv->GetStaticFieldID(ClassAudioManager,"FLAG_SHOW_UI", "I");
148 jint FLAG_SHOW_UI = lJNIEnv->GetStaticIntField(ClassAudioManager, FieldFLAG_SHOW_UI);
149
150 if (up) {
151 //get AudioManager.ADJUST_RAISE
152 jfieldID FieldADJUST_RAISE =lJNIEnv->GetStaticFieldID(ClassAudioManager,"ADJUST_RAISE", "I");
153 jint ADJUST_RAISE = lJNIEnv->GetStaticIntField(ClassAudioManager, FieldADJUST_RAISE);
154
155 //audio.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);
156 jmethodID MethodAdjustStreamVolume = lJNIEnv->GetMethodID(ClassAudioManager, "adjustStreamVolume", "(III)V");
157 lJNIEnv->CallVoidMethod(lAudioManager,MethodAdjustStreamVolume, STREAM_MUSIC, ADJUST_RAISE, FLAG_SHOW_UI);
158
159 } else {
160 //get AudioManager.ADJUST_LOWER
161 jfieldID FieldADJUST_LOWER =lJNIEnv->GetStaticFieldID(ClassAudioManager,"ADJUST_LOWER", "I");
162 jint ADJUST_LOWER = lJNIEnv->GetStaticIntField(ClassAudioManager, FieldADJUST_LOWER);
163
164 //audio.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI);
165 jmethodID MethodAdjustStreamVolume = lJNIEnv->GetMethodID(ClassAudioManager, "adjustStreamVolume", "(III)V");
166 lJNIEnv->CallVoidMethod(lAudioManager,MethodAdjustStreamVolume, STREAM_MUSIC, ADJUST_LOWER, FLAG_SHOW_UI);
167 }

Callers 1

engine_handle_inputFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected