0

我是linphone的新手。任何人都可以指导我如何在 iOS 通话期间接收 dtmf。我把这个方法放在LinphoneCoreVTable中。

.dtmf_received = linphone_iphone_notify_dtmf_received.

但是当这个方法调用我不知道。

4

1 回答 1

1

您必须实现在收到 dtmf 时调用的函数。

函数接口如下:

/**
 * Callback for being notified of DTMFs received.
 * @param lc the linphone core
 * @param call the call that received the dtmf
 * @param dtmf the ascii code of the dtmf
 */
typedef void (*LinphoneCoreCbsDtmfReceivedCb)(LinphoneCore* lc, LinphoneCall *call, int dtmf);

与呼叫状态更改相同:

虚拟表

.call_state_changed = (LinphoneCoreCallStateChangedCb)linphone_iphone_call_state,

界面

/**
 * Call state notification callback.
 * @param lc the LinphoneCore
 * @param call the call object whose state is changed.
 * @param cstate the new state of the call
 * @param message a non NULL informational message about the state.
 */
typedef void (*LinphoneCoreCbsCallStateChangedCb)(LinphoneCore *lc, LinphoneCall *call, LinphoneCallState cstate, const char *message);

和方法

static void linphone_iphone_call_state(LinphoneCore *lc, LinphoneCall *call, LinphoneCallState state, const char *message) {
    [(__bridge LinphoneManager *)linphone_core_get_user_data(lc) onCall:call StateChanged:state withMessage:message];
}
于 2018-01-02T10:37:04.260 回答