如果要取消静音,可以使用pjsua_conf_disconnect和pjsua_conf_connect完全断开麦克风与会议的连接.
这里有一些Objective-C代码可以解决这个问题:
+(void)muteMicrophone
{
@try {
if( pjsipConfAudioId != 0 ) {
NSLog(@"WC_SIPServer microphone disconnected from call");
pjsua_conf_disconnect(0, pjsipConfAudioId);
}
}
@catch (NSException *exception) {
NSLog(@"Unable to mute microphone: %@", exception);
}
}
+(void)unmuteMicrophone
{
@try {
if( pjsipConfAudioId != 0 ) {
NSLog(@"WC_SIPServer microphone reconnected to call");
pjsua_conf_connect(0,pjsipConfAudioId);
}
}
@catch (NSException *exception) {
NSLog(@"Unable to un-mute microphone: %@", exception);
}
}
请注意,在建立调用时检索了pjsipConfAudioID,再次在Objective-C中…
static void on_call_state(pjsua_call_id call_id, pjsip_event *e)
{
pjsua_call_info ci;
PJ_UNUSED_ARG(e);
pjsua_call_get_info(call_id, &ci);
pjsipConfAudioId = ci.conf_slot;
...
}
希望有所帮助!