带路小妖 发表于 2014-7-16 11:16:00

关于OnLocalVideoInit:(id)session该方法

大侠,请问下这个方法是怎么来的?也不是委托,但我发现该过程确实会执行,这个使用的时候需要在什么地方注意下?与之对应的- (void) OnLocalVideoRelease:(idsender方法,他们有什么玄机么?

admin 发表于 2014-7-16 13:55:14

当本地视频初始化成功之后,SDK内核会调用该View的方法“OnLocalVideoInit”是由内核自动调用的。

admin 发表于 2014-7-16 11:39:52

AnyChat for iOS采用UIImageView进行其它用户视频显示,上层应用只需要在界面中创建一个UIImageView控件,然后将控件句柄通过SetVideoPos方法传递给SDK,则当有视频数据到达时,内核将会自动将视频显示到该UIImageView控件上,不需要上层应用来处理视频的显示。

AnyChat for iOS采用AVCaptureVideoPreviewLayer进行本地视频显示,在初始化本地视频设备之前,通过调用SetVideoPos方法将需要显示视频的主窗体View对象传递给SDK,当本地视频初始化成功之后,SDK内核会调用该View的方法“OnLocalVideoInit”,在该方法中,便可创建和初始化AVCaptureVideoPreviewLayer对象,实现本地视频的显示,当本地视频会话关闭,或是对象销毁时,SDK内核会调用该View的方法“OnLocalVideoRelease”,在该方法中,可释放前面创建的AVCaptureVideoPreviewLayer对象。

详情可参考AnyChat for iOS SDK\doc\《AnyChat for iOS SDK开发手册》文档2.3.3部分:UIImageView视频显示

带路小妖 发表于 2014-7-16 13:46:01

admin 发表于 2014-7-16 11:39
AnyChat for iOS采用UIImageView进行其它用户视频显示,上层应用只需要在界面中创建一个UIImageView控件, ...

文档看了,就是没有懂所以跑来这里问的!

带路小妖 发表于 2014-7-17 17:29:44

admin 发表于 2014-7-16 13:55
是由内核自动调用的。

昨天看了有时可以执行,有时不执行该方法,但今天就完全不执行了,你说是内核自动调用的,但做为了程序员按常规的判断,他是怎么自动执行的,我想应该要设定什么吧?正因为这样,所以我昨天就问文档中是什么意思没有看懂,请问下,内核自动调用该方法要在别处注册或是写上什么东西需要标识执行该方法么?谢谢了~~

admin 发表于 2014-7-17 17:42:30

您好,您可以标准Demo上加断点,看是否会进入该函数?

带路小妖 发表于 2014-7-18 09:08:14

admin 发表于 2014-7-17 17:42
您好,您可以标准Demo上加断点,看是否会进入该函数?

我觉得你这跟没有回答一样,你说DEMO会不会执行啊?肯定会啊,如果你不执行,你们不就是忽悠么?那个是在低于xcode5版本下编译的,而且我现在是要根据我们自己的业务特别来设计跳转等,并且要在xcode5上编译

佰锐技术-卓剑锐 发表于 2014-7-18 09:56:15

带路小妖 发表于 2014-7-18 09:08
我觉得你这跟没有回答一样,你说DEMO会不会执行啊?肯定会啊,如果你不执行,你们不就是忽悠么?那个是在 ...

您好,如果可以,您把工程贴上来,我们这边让开发人员分析下

admin 发表于 2014-7-18 10:09:31

那个是在低于xcode5版本下编译的,而且我现在是要根据我们自己的业务特别来设计跳转等,并且要在xcode5上编译
AnyChat for iOS SDK是支持XCode5的,您可以用XCode5来编译示例工程,单步调试来了解视频模块的工作流程,谢谢。

佰锐技术-高萌 发表于 2014-7-18 10:11:47

本帖最后由 佰锐技术-高萌 于 2014-7-18 10:16 编辑

- (void)OnLocalVideoInit:(id)session是内核自动执行的。上层应用只创建一个UIImageView 控件,然后将控件句柄通过SetVideoPos给SDK内核(通过SetVideoPos的一个参数:surface)。

页: [1] 2
查看完整版本: 关于OnLocalVideoInit:(id)session该方法