How is SkypeKit different from programming with the Skype API?
Asked Answered
C

3

14

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:

  1. Was there anything missing from SkypeKit that is offered via the Skype API that made your app conversion difficult if not impossible?

  2. 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?

  3. 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).

Colpotomy answered 29/9, 2011 at 1:44 Comment(0)
M
4

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.

Maurilla answered 19/6, 2012 at 19:37 Comment(3)
How is the reliability and robustness of the toolkit? Are you able to do what you need or are there notable bugs hindering your progress? Also, is Skype supporting it well, especially when it comes to responding to bug reports (JIRA)?Colpotomy
@RobertOschler it works well but I did not test it very hard yet. Developers have devforum, that is only way to get support, I think. By the way, I see they have got .NET support in their API too.Maurilla
Does the Skype Android SDK support allowing the SDP portion of the message to be modified, such that the media RTP streams will be routed to a different IP address and port than what the application is running on?Ancheta
C
3

SkypeKit is no longer supported - https://support.skype.com/en/faq/FA12322/is-skypekit-being-discontinued

Disclosure: I used work for Microsoft/Skype

Cassy answered 9/3, 2016 at 16:39 Comment(0)
C
1

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.

Caco answered 15/5, 2012 at 19:48 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.