14

我有很多使用 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. 您是否从其他开发人员那里找到任何真正有助于节省时间或麻烦的 Web 资源或文档?(如果有,请分享链接)。

4

3 回答 3

4

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

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

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

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

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

您可以在此处阅读 Java API ,在此处阅读C++ API(带有示例) ,此处阅读Python(带有示例)。

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

于 2012-06-19T19:37:23.810 回答
3

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

披露:我曾在 Microsoft/Skype 工作

于 2016-03-09T16:39:46.103 回答
1

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

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

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

于 2012-05-15T19:48:43.153 回答