SkypeKit和使用Skype API编程有什么不同?

14

我有丰富的使用Delphi 6 Pro编写Skype API应用程序的经验。我不使用COM对象,而是直接通过SendMessage()系统与Skype客户端进行接口交互。我的当前应用程序充当一个全双工音频代理,并传输视频。为了传输音频,我使用ALTER CALL和PORT参数建立了一对套接字与Skype客户端之间的全双工音频连接。为了发送视频,我使用基于DSPACK的DirectX过滤器,指示Skype客户端选择它作为所选视频设备。这很好用,但由于使用的是Skype API,我需要将其与Skype客户端作为单独的实体进行接口交互。

现在出现了SkypeKit,这显然允许开发人员以更加集成的方式集成Skype。我即将深入探究它,我想听听那些从Skype API转换到SkypeKit的开发人员的意见。一些问题:

  1. 在Skype API中提供的任何内容,在SkypeKit中是否缺失,使得你的应用程序转换起来困难甚至不可能?

  2. 您有什么技巧可以尽可能平稳地进行转换,特别是在避免设计选择时,当您深入SkypeKit路径时,可能会造成严重后果的方面?

  3. 您是否发现其他开发人员的Web资源或文档非常有帮助,可以节省您的时间或麻烦?(如果是,请分享链接)。

3个回答

4
我在我的以聊天为中心的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文本 。

工具包的可靠性和健壮性如何?您能够完成所需的任务,还是有显著的错误阻碍了您的进展?此外,Skype在支持方面表现如何,特别是在响应错误报告(JIRA)方面? - Robert Oschler
@RobertOschler 它运行良好,但我还没有进行过严格的测试。开发人员可以在devforum上获得支持,这是唯一的途径,我认为。顺便说一下,我看到他们的API也支持.NET。 - o_nix
Skype Android SDK是否支持允许修改消息的SDP部分,以便将媒体RTP流路由到不同的IP地址和端口,而不是应用程序正在运行的地址? - Nancy thakkar

3

1

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

我没有深入研究这个解决方案,因为访问是不免费的(不贵,但如果没有真正的项目,这对我来说是一个无法接受的问题...)。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接