1

我使用 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)
4

1 回答 1

1

您不需要停止传输,因为它是由图书馆处理的。您可以查看示例应用程序 (MyApp.java) 如何处理呼叫断开连接。

于 2019-10-10T13:53:01.513 回答