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 的开发人员的意见。一些问题:
通过 Skype API 提供的 SkypeKit 是否缺少任何内容,导致您的应用程序转换变得困难(如果不是不可能)?
- 有什么建议吗?尤其是当您在 SkypeKit 道路上走得很远时,避免任何可能真正困扰您的设计选择?
您是否发现其他开发人员提供的任何网络资源或文档对您节省时间或麻烦确实有帮助? (如果是,请分享链接)。
I have a lot of experience writing Delphi 6 Pro apps using the Skype API. I don't use the COM object but instead I interface directly with the Skype client using the SendMessage()
system. My current application acts as a full duplex audio proxy with video transmit. To transport audio I use ALTER CALL with the PORT parameter to establish a duplex audio connection with the Skype client via a pair of sockets. For sending video I have a DSPACK based DirectX filter that I instruct the Skype client to select as the chosen video device. This works fine but since it's the Skype API I have the awkwardness of interfacing with the Skype client as a separate entity.
Now along comes SkypeKit which apparently allows a developer to integrate Skype in a much more integrated manner. I'm about to dive into it and I wanted to hear from any developers out there that switched over from the Skype API to SkypeKit. Some questions:
Was there anything missing from SkypeKit that is offered via the Skype API that made your app conversion difficult if not impossible?
Do you have any tips on making the transition as smooth as possible, especially when it comes to avoiding any design choices that can really come back to haunt you when you get far down the SkypeKit path?
Did you find any web resources or documentation from other developers that were really helpful in saving you time or trouble? (Please share links if so).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
SkypeKit 和其他解决方案(sendmessage、COM)之间的主要区别是不需要 Skype 客户端应用程序...您可以直接与 Skype 网络交互...
我还没有挖掘这个解决方案,因为访问不是免费的(不贵,但没有真正的项目,这对我来说是不可能的......)。
因此,如果您计划在最终计算机上用您自己的软件替换真正的 Skype 客户端,这可能非常有用……但如果您只想与现有客户端交互,我不太确定。
The main difference between SkypeKit and the other solutions (sendmessage, COM) is that the Skype client application is not needed... you can directly interact with the skype network...
I haven't dig this solution as the access is not free (not expensive, but without real projet, this was a no go for me...).
So this can be very useful if you plan to replace the real skype client with your own software on final machine... but if you just want to interact with an existing one, I'm not so sure.
我在以聊天为中心的 Java 应用程序中使用 SkypeKit,因此我没有处理 A/V。
SkypeKit只是一个“黑匣子”程序,通过iteslf与Skype协议进行交互。它是一个可执行文件,启动一个侦听本地端口的进程。该过程很轻量,在我的基于 Windows 的开发机器上只有 20mB。它完全在后台运行,启动/消息传递/关闭时没有任何通知。
您的客户端程序通过本地 SSL 隧道发送字节结构来与其交互。这些结构由 C++、Java 和 Pyton 的 API 包装。 Java API 很简单。您启动该过程,创建
new Skype()
对象并使用您的 Skype 帐户凭据登录,并在某些事件发生时执行程序回调。所以@Whiler并不完全正确,你总是需要一个主机应用程序,但在这种情况下,这个应用程序很小而且速度很快。
我不知道基于硬件的套件是如何工作的,但我认为这是一种更底层的方式。
您可以在此处阅读 Java API、C++ API(带有示例)< a href="http://developer.skype.com/skypekit/reference/cpp/index.html" rel="nofollow">此处,以及 Python(带有示例)此处。
哦,桌面 API 和基于套件的 API 之间至少有一个小小的区别:您可以发布 XML 文本< /a> 在聊天中。
I am using SkypeKit in my chat-centric Java application so I haven't dealt with A/V.
SkypeKit is just a “black box” program that interacts with Skype protocol by iteslf. It is an executable that starts a process which listens on local port. The process is lightweight, only 20mB on my Windows-based developer machine. It runs completely in background, there are no any notifications at startup/messaging/shutdown.
Your client program interacts with it by sending byte structures via local SSL tunnel. These structures are wrapped by API for C++, Java and Pyton. Java API is easy. You start the process, create
new Skype()
object and login with your Skype account credentials and get your program callbacks execution when some events happen.So @Whiler is not completely right, you always need a host application, but in this case this one is small and fast.
I don't know how hardware-based kit works but I think it is a more low-level way.
You can read the Java API here, C++ API (with examples) here, and Python (with examples) here.
Oh, and at least one small difference between desktop API and kit-based one: you can post XML text in the chat.
不再支持 SkypeKit - https://support.skype。 com/en/faq/FA12322/is-skypekit-being-discontinued
披露:我曾在 Microsoft/Skype 工作过
SkypeKit is no longer supported - https://support.skype.com/en/faq/FA12322/is-skypekit-being-discontinued
Disclosure: I used work for Microsoft/Skype