【发布时间】:2018-11-03 12:12:53
【问题描述】:
我正在尝试使用 pjsip 2.7.1 在我的 iOS 应用程序中添加视频通话功能。我已按照此链接中提到的步骤https://trac.pjsip.org/repos/wiki/Video_Users_Guide
if (pjsua_vid_win_get_info(i, &wi) == PJ_SUCCESS) {
dispatch_async(dispatch_get_main_queue(), ^{
UIView* videoView = (__bridge UIView *)wi.hwnd.info.ios.window;
/* Resize it to fit width */
videoView.bounds = CGRectMake(0, 0, 375,667);
/* Center it horizontally */
videoView.center = CGPointMake(375/2.0, 667/2.0);
NSLog(@"******* Native Window Called ******** ");
}
当我进行视频通话时,一切似乎都很好,我在日志中没有发现任何问题。
2018-11-01 11:16:11.980945+0400 SwiftVoiceCallingApp[730:49599] 11:16:11.980 pjsua_media.c .....呼叫 0:更新媒体..
2018-11-01 11:16:11.981282+0400 SwiftVoiceCallingApp[730:49599] 11:16:11.981 pjsua_media.c .......媒体流 call00:0 被销毁
2018-11-01 11:16:11.981801+0400 SwiftVoiceCallingApp[730:49599] 11:16:11.981 pjsua_aud.c ......音频频道更新..
2018-11-01 11:16:11.982020+0400 SwiftVoiceCallingApp[730:49599] 11:16:11.981 strm0x14c817228 ..VAD 暂时禁用
2018-11-01 11:16:11.983647+0400 SwiftVoiceCallingApp[730:49599] 11:16:11.983 strm0x14c817228 .......编码器流开始
2018-11-01 11:16:11.994218+0400 SwiftVoiceCallingApp[730:49599] 11:16:11.994 strm0x14c817228 .......解码器流开始
2018-11-01 11:16:11.995006+0400 SwiftVoiceCallingApp[730:49599] 11:16:11.994 pjsua_media.c ......音频更新,流 #0:PCMU (sendrecv)
2018-11-01 11:16:11.995355+0400 SwiftVoiceCallingApp[730:49599] 11:16:11.995 pjsua_media.c .......媒体流 call00:1 被销毁
2018-11-01 11:16:11.995506+0400 SwiftVoiceCallingApp[730:49599] 11:16:11.995 pjsua_vid.c ......视频频道更新..
2018-11-01 11:16:12.021673+0400 SwiftVoiceCallingApp[730:49599] 11:16:12.021 vstenc0x14c813e28 .......编码器流开始
2018-11-01 11:16:12.022508+0400 SwiftVoiceCallingApp[730:49599] 11:16:12.022 vstdec0x14c813e28 .......解码器流开始
2018-11-01 11:16:12.023527+0400 SwiftVoiceCallingApp[730:49599] 11:16:12.023 pjsua_vid.c ....设置 RX..
2018-11-01 11:16:12.024107+0400 SwiftVoiceCallingApp[730:49599] 11:16:12.024 pjsua_vid.c ........创建视频窗口:type=stream,cap_id=-1, rend_id=0
2018-11-01 11:16:12.024864+0400 SwiftVoiceCallingApp[730:49599] 11:16:12.024 vid_port.c .........打开设备 OpenGL 渲染器 [OpenGL] 进行渲染:格式= I420,尺寸=656x656 @22:1 fps
2018-11-01 11:16:12.153215+0400 SwiftVoiceCallingApp[730:49599] 11:16:12.153 ios_opengl_dev.c .........iOS OpenGL ES 渲染器创建成功
2018-11-01 11:16:12.153426+0400 SwiftVoiceCallingApp[730:49599] 11:16:12.153 vid_port.c .........设备 OpenGL 渲染器 [OpenGL] 打开:格式=BGRA,尺寸=656x656 @22:1 fps
2018-11-01 11:16:12.153551+0400 SwiftVoiceCallingApp[730:49599] 11:16:12.153 pjsua_vid.c .........为 cap_dev=-1 rend_dev= 创建的流窗口 id 0 0
2018-11-01 11:16:12.153590+0400 SwiftVoiceCallingApp[730:49599] 11:16:12.153 pjsua_vid.c .........已创建窗口 0
2018-11-01 11:16:12.153629+0400 SwiftVoiceCallingApp[730:49599] 11:16:12.153 ios_opengl_dev.c ........启动 ios opengl 流
2018-11-01 11:16:12.153758+0400 SwiftVoiceCallingApp[730:49599] 11:16:12.153 pjsua_vid.c ....设置 TX..
2018-11-01 11:16:12.153805+0400 SwiftVoiceCallingApp[730:49599] 11:16:12.153 pjsua_vid.c ........创建视频窗口:type=preview,cap_id=2,rend_id =0
2018-11-01 11:16:12.155163+0400 SwiftVoiceCallingApp[730:49599] 11:16:12.155 vid_port.c .........打开设备前置摄像头 [AVF] 进行捕获:格式= I420,尺寸=352x288 @15:1 fps
2018-11-01 11:16:12.175070+0400 SwiftVoiceCallingApp[730:49599] 11:16:12.175 vid_port.c .........设备前置摄像头 [AVF] 打开:格式=I420,尺寸=352x288 @15:1 fps
2018-11-01 11:16:12.179564+0400 SwiftVoiceCallingApp[730:49599] 11:16:12.179 darwin_dev.m .........本机预览已初始化
2018-11-01 11:16:12.179708+0400 SwiftVoiceCallingApp[730:49599] 11:16:12.179 pjsua_vid.c .........预览窗口 id 1 为 cap_dev 2 创建,使用内置预览中!
2018-11-01 11:16:12.179743+0400 SwiftVoiceCallingApp[730:49599] 11:16:12.179 pjsua_vid.c .........已创建窗口 1
2018-11-01 11:16:12.179818+0400 SwiftVoiceCallingApp[730:49599] 11:16:12.179 darwin_dev.m ........启动 Darwin 视频流
2018-11-01 11:16:12.560349+0400 SwiftVoiceCallingApp[730:49599] 11:16:12.560 pjsua_media.c ......视频已更新,流 #1:H264 (sendrecv)
2018-11-01 11:16:12.560565+0400 SwiftVoiceCallingApp[730:49599] 11:16:12.560 pjsua_aud.c .....Conf 连接:2 --> 0
2018-11-01 11:16:12.560631+0400 SwiftVoiceCallingApp[730:49599] 11:16:12.560 Conference.c ......端口 2 (sip:1001@192.168.100.57) 传输到端口 0 (iPhone IO 设备)
2018-11-01 11:16:12.560680+0400 SwiftVoiceCallingApp[730:49599] 11:16:12.560 pjsua_aud.c .....Conf 连接:0 --> 2
2018-11-01 11:16:12.560729+0400 SwiftVoiceCallingApp[730:49599] 11:16:12.560 Conference.c ......端口 0(iPhone IO 设备)传输到端口 2(sip:1001 @192.168.100.57)
2018-11-01 11:16:12.560765+0400 SwiftVoiceCallingApp[730:49599] 窗口 ID:0
2018-11-01 11:16:12.560806+0400 SwiftVoiceCallingApp[730:49599] 媒体 ID:1
2018-11-01 11:16:12.560841+0400 SwiftVoiceCallingApp[730:49599] 1. PJSUA_CALL_MEDIA_ACTIVE
2018-11-01 11:16:12.594432+0400 SwiftVoiceCallingApp[730:49349] ******* 调用本机窗口 ********
挂断后:
2018-11-01 11:16:32.181814+0400 SwiftVoiceCallingApp[730:49599] 呼出状态 ID 为:200
2018-11-01 11:16:32.187486+0400 SwiftVoiceCallingApp[730:49599] 11:16:32.187 pjsua_media.c ......调用 0:取消初始化媒体..
2018-11-01 11:16:32.203479+0400 SwiftVoiceCallingApp[730:49599] 11:16:32.203 pjsua_media.c ........媒体流 call00:0 被销毁
2018-11-01 11:16:32.204868+0400 SwiftVoiceCallingApp[730:49599] 11:16:32.204 pjsua_vid.c ........正在停止视频流..
2018-11-01 11:16:32.232410+0400 SwiftVoiceCallingApp[730:49599] 11:16:32.232 darwin_dev.m .........停止达尔文视频流
但是,我在 UIView 中没有找到任何视频。
UIView* videoView = (__bridge UIView *)wi.hwnd.info.ios.window;
我刚刚将此 videoView 作为子视图添加到我的 ViewController 的视图中
self.view.addSubView:videoView
感觉videoView上面已经有视频流了。我还有什么遗漏吗?
【问题讨论】: