Исключение при завершении вызовов - «ошибка pjsua_conf_disconnect (id, sink.id): неверное значение или аргумент» - PullRequest
0 голосов
/ 01 октября 2019

Мое приложение, использующее библиотеку 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)

1 Ответ

1 голос
/ 10 октября 2019

Вам не нужно останавливать передачу, поскольку она обрабатывается библиотекой. Вы можете увидеть пример приложения (MyApp.java) о том, как обрабатывать разъединение вызовов.

...