Мое приложение, использующее библиотеку pjsua, работает отлично. Но всегда, как показано ниже, появляется исключение во время ожидания вызовов.
это часть кода, где возникает исключение в классе MyApp.java, где amr относится к AudioMediaRecorder , и am относится к классам AudioMedia .
if (ci.getState() == pjsip_inv_state.PJSIP_INV_STATE_DISCONNECTED) {
try {
if (am != null) {
if(amr != null) {
am.stopTransmit(amr);
MyApp.ep.audDevManager().getCaptureDevMedia().stopTransmit(amr);
amr.delete();
}
MyApp.ep.audDevManager().getCaptureDevMedia().stopTransmit(am);
am.stopTransmit(MyApp.ep.audDevManager().getPlaybackDevMedia());
am.delete();
}
} catch (Exception e) {
e.printStackTrace();
}
MyApp.ep.utilLogWrite(3, "MyCall", this.dump(true, ""));
}
MyApp.observer.notifyCallState(this);
}
Это всегда показывает исключение следующим образом. Проблема заключается в прекращении передачи мультимедиа в порты. Может ли кто-нибудь предложить мне правильный способ закрыть эти классы.
W/System.err: java.lang.Exception: Title: pjsua_conf_disconnect(id, sink.id)
W/System.err: Code: 70004
W/System.err: Description: Invalid value or argument (PJ_EINVAL)
W/System.err: Location: ../src/pjsua2/media.cpp:234
W/System.err: at org.pjsip.pjsua2.pjsua2JNI.AudioMedia_stopTransmit(Native Method)
W/System.err: at org.pjsip.pjsua2.AudioMedia.stopTransmit(AudioMedia.java:60)
W/System.err: at com.xtendsip.MyCall.onCallState(MyApp.java:166)
W/System.err: at org.pjsip.pjsua2.pjsua2JNI.SwigDirector_Call_onCallState(pjsua2JNI.java:2918)