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



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

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

  1. 是否有任何缺失的SkypeKit,是通过Skype API提供,使您的应用程序转换困难,如果不是不可能的?

  2. 您是否有任何提示,使过渡尽可能顺利,特别是当涉及到避免任何设计选择,可以真正回来困扰你,当你走下SkypeKit的路径?

  3. 你有没有从其他开发人员那里找到任何真正帮助你节省时间或麻烦的web资源或文档?(请分享链接)

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

SkypeKit只是一个"黑匣子"程序,它本身与Skype协议交互。它是一个可执行文件,启动一个监听本地端口的进程。这个进程是轻量级的,在我基于windows的开发机器上只有20mB。它完全在后台运行,在启动/消息传递/关闭时没有任何通知。

客户端程序通过本地SSL隧道发送字节结构与它交互。这些结构由c++、Java和Pyton的API封装。Java API很简单。你启动进程,创建new Skype()对象和登录与您的Skype帐户凭证,并得到你的程序回调执行时,一些事件发生。

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

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

你可以在这里阅读Java API,在这里阅读c++ API(带示例),在这里阅读Python(带示例)。

哦,桌面API和基于工具包的API之间至少有一个小区别:您可以在聊天中发布XML文本。

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

披露:我曾为微软/Skype工作

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

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

所以这可以是非常有用的,如果你打算用你自己的软件在最终机器上取代真正的skype客户端…但是如果你只是想和一个现有的交互,我不太确定。

最新更新