SkypeKit与使用Skype API进行编程有何不同?

时间:2011-09-29 01:44:26

标签: delphi skype dspack

我在使用Skype API编写Delphi 6 Pro应用程序方面有很多经验。我不使用COM对象,而是使用SendMessage()系统直接与Skype客户端连接。我当前的应用程序充当带视频传输的全双工音频代理。要传输音频,我使用带有PORT参数的ALTER CALL通过一对插座与Skype客户端建立双工音频连接。为了发送视频,我有一个基于DSPACK的DirectX过滤器,我指示Skype客户端选择作为所选的视频设备。这很好但是因为它是Skype API,所以我作为一个单独的实体与Skype客户端连接的尴尬。

现在,SkypeKit显然允许开发人员以更加集成的方式集成Skype。我即将深入研究它,我希望听到那些从Skype API切换到SkypeKit的开发人员。一些问题:

  1. 通过Skype API提供的SkypeKit是否有任何遗漏,如果不是不可能,您的应用转换很困难?

  2. 您是否有任何关于尽可能顺利过渡的提示,特别是在避免任何设计选择时,当您远离SkypeKit路径时,这些选择真的会让您感到困扰?

  3. 您是否发现其他开发人员的任何网络资源或文档真的有助于节省您的时间或麻烦? (如果有,请分享链接)。

3 个答案:

答案 0 :(得分:4)

我在以聊天为中心的Java应用程序中使用SkypeKit,所以我没有处理过A / V.

SkypeKit只是一个“黑匣子”程序,它与iteslf的Skype协议进行交互。它是一个可执行文件,用于启动侦听本地端口的进程。这个过程很轻,在我的基于Windows的开发者机器上只有20mB。它完全在后台运行,在启动/消息/关闭时没有任何通知。

您的客户端程序通过本地SSL隧道发送字节结构与之交互。这些结构由用于C ++,Java和Pyton的API包装。 Java API很简单。您启动该过程,创建new Skype()对象并使用您的Skype帐户凭据登录,并在发生某些事件时执行程序回调。

所以@Whiler并不完全正确,你总是需要一个主机应用程序,但在这种情况下,这个应用程序很小而且很快。

我不知道基于硬件的套件是如何工作的,但我认为这是一种更低级的方式。

您可以阅读Java API here,C ++ API(带示例)here和Python(带示例)here

哦,桌面API和基于工具包的API之间至少存在一个小差异:您可以在聊天中发布XML text

答案 1 :(得分:3)

不再支持SkypeKit - https://support.skype.com/en/faq/FA12322/is-skypekit-being-discontinued

披露:我使用过Microsoft / Skype

的工作

答案 2 :(得分:1)

SkypeKit与其他解决方案(sendmessage,COM)的主要区别在于不需要Skype客户端应用程序......您可以直接与Skype网络进行交互......

我没有挖掘这个解决方案因为访问权限不是免费的(并不昂贵,但没有真正的项目,这对我来说是 no go ...)。

因此,如果您打算在最终机器上用自己的软件替换真正的Skype客户端,这可能非常有用......但如果您只是想与现有软件进行交互,我不太确定。