如何在ios中实现pjsip视频调用
使用pjsip实现音频调用正常工作,但不工作视频调用如何在ios中实现pjsip视频调用,ios,pjsip,Ios,Pjsip,使用pjsip实现音频调用正常工作,但不工作视频调用 pj_status_t sip_dial(pjsua_acc_id acc_id, const char *number, pjsua_call_id *call_id) { pj_status_t status; pj_str_t uri = pj_str(destUri); status = pjsua_call_make_call(_acc_id, &uri, &(_call_settin
pj_status_t sip_dial(pjsua_acc_id acc_id, const char *number,
pjsua_call_id *call_id)
{
pj_status_t status;
pj_str_t uri = pj_str(destUri);
status = pjsua_call_make_call(_acc_id, &uri, &(_call_setting),
NULL, NULL, NULL);
if (status != PJ_SUCCESS)
error_exit("Error making call", status);
}
我应用了以下更改:
//Sip初始化
pj_status_t sip_startup(app_config_t *app_config)
{
pjsua_config cfg;
pjsua_config_default (&cfg);
cfg.cb.on_incoming_call = &on_incoming_call;
cfg.cb.on_call_media_state = &on_call_media_state;
cfg.cb.on_call_state = &on_call_state;
cfg.cb.on_reg_state2 = &on_reg_state2;
cfg.cb.on_call_media_event = &on_call_media_event;
// Init the logging config structure
pjsua_logging_config log_cfg;
pjsua_logging_config_default(&log_cfg);
log_cfg.console_level = 4;
// Init PJ Media
pjsua_media_config me_cfg;
pjsua_media_config_default(&me_cfg);
// Init the pjsua
status = pjsua_init(&cfg, &log_cfg, &me_cfg);
if (status != PJ_SUCCESS) error_exit("Error in pjsua_init()", status);
}
//应用sip连接时添加以下代码
pjsua_call_setting _call_setting;
pjsua_call_setting_default(&_call_setting);
_call_setting.aud_cnt = 1;
_call_setting.vid_cnt = 1;
//当按下应用程序中的通话按钮时,可调用此功能进行视频通话
pj_status_t sip_dial(pjsua_acc_id acc_id, const char *number,
pjsua_call_id *call_id)
{
pj_status_t status;
pj_str_t uri = pj_str(destUri);
status = pjsua_call_make_call(_acc_id, &uri, &(_call_setting),
NULL, NULL, NULL);
if (status != PJ_SUCCESS)
error_exit("Error making call", status);
}
//应用与视频代码相关的更改
static void on_call_media_state(pjsua_call_id call_id)
{
pjsua_call_info ci;
unsigned mi;
pjsua_call_get_info(call_id, &ci);
sip_ring_stop([SharedAppDelegate.aVoipManager pjsipConfig]);
if(ci.media_status == PJMEDIA_TYPE_VIDEO)
{
NSLog(@"windows id : %d",ci.media[mi].stream.vid.win_in);
NSLog(@"media id : %d",mi);
if (ci.media_status != PJSUA_CALL_MEDIA_ACTIVE)
return;
[[XCPjsua sharedXCPjsua]
displayWindow:ci.media[mi].stream.vid.win_in];
}
}
我应用了上述代码,但没有使用pjsip进行视频调用
任何人都有关于视频通话的想法或步骤,那么请帮助我
谢谢你这个题目太大了,如果你想得到一个好的答案,我想你需要把你的问题细化成一个更小更具体的问题 确保您已阅读并理解pjsip视频支持: 我会看看其他人做了什么(即使是在另一个平台上,如Android、Windows等),以及pjsip pjsua示例,我相信它支持视频,但我不确定它是否支持ios视频 获取一个已知的pjsip视频调用的好例子,这样您就知道它的样子以及它工作时日志的样子
然后,针对已知的好示例客户机尝试您的ios代码,看看它们的不同之处。如果你想不出来,至少你应该有足够的信息,能够就一个不适合你的特定情况提出更具体的问题。我一直在接视频电话,我无法互相连接。你能给我一些建议吗。谢谢。你能看看我的问题吗。。我无法通过pjsip pjsua2示例android应用程序提高视频质量。。我们将非常感谢您的帮助