Чем SkypeKit отличается от программирования с помощью Skype API? - PullRequest
14 голосов
/ 29 сентября 2011

У меня большой опыт написания приложений для Delphi 6 Pro с использованием Skype API. Я не использую объект COM, но вместо этого я напрямую взаимодействую с клиентом Skype, используя систему SendMessage(). Мое текущее приложение действует как полнодуплексный аудио-прокси с передачей видео. Для передачи аудио я использую ALTER CALL с параметром PORT, чтобы установить дуплексное аудио соединение с клиентом Skype через пару сокетов. Для отправки видео у меня есть фильтр DirectX на основе DSPACK, который я приказываю клиенту Skype выбрать в качестве выбранного видеоустройства. Это прекрасно работает, но, поскольку это Skype API, мне неловко взаимодействовать с клиентом Skype как с отдельной сущностью.

Теперь появился SkypeKit, который, по-видимому, позволяет разработчику интегрировать Skype гораздо более интегрированным способом. Я собираюсь погрузиться в это, и я хотел бы услышать от любых разработчиков там, которые переключились с Skype API на SkypeKit. Некоторые вопросы:

  1. В SkypeKit чего-то не хватало, что предлагалось через Skype API, что затрудняло, если не исключало, конверсию вашего приложения?

  2. Есть ли у вас какие-либо советы о том, как сделать переход максимально плавным, особенно когда речь идет об избежании любых вариантов дизайна, которые действительно могут помешать вам, когда вы далеко уйдете по пути SkypeKit?

  3. Нашли ли вы какие-либо веб-ресурсы или документацию от других разработчиков, которые действительно помогли бы сэкономить ваше время или проблемы? (Пожалуйста, поделитесь ссылками, если так).

Ответы [ 3 ]

4 голосов
/ 19 июня 2012

Я использую SkypeKit в своем приложении Java, ориентированном на чат, поэтому я не имел дело с A / V.

SkypeKit - это просто программа «черного ящика», которая взаимодействует с протоколом Skype посредством iteslf. Это исполняемый файл, который запускает процесс, который прослушивает локальный порт. Процесс легок, всего 20 МБ на моей машине для разработчиков на базе Windows. Он работает полностью в фоновом режиме, никаких уведомлений при запуске / обмене сообщениями / выключении нет.

Ваша клиентская программа взаимодействует с ней, отправляя байтовые структуры через локальный туннель SSL. Эти структуры обернуты API для C ++, Java и Pyton. API Java прост. Вы запускаете процесс, создаете объект new Skype() и входите в систему с учетными данными своей учетной записи Skype и выполняете обратные вызовы программы, когда происходят некоторые события.

Так что @Whiler не совсем прав, вам всегда нужно хост-приложение, но в этом случае оно маленькое и быстрое.

Я не знаю, как работает аппаратный комплект, но я думаю, что это более низкоуровневый способ.

Вы можете прочитать Java API здесь , C ++ API (с примерами) здесь и Python (с примерами) здесь .

Да, и как минимум одна небольшая разница между настольным API и набором: вы можете публиковать XML-текст в чате.

3 голосов
/ 09 марта 2016

SkypeKit больше не поддерживается - https://support.skype.com/en/faq/FA12322/is-skypekit-being-discontinued

Раскрытие информации: я использовал работу для Microsoft / Skype

1 голос
/ 15 мая 2012

Основным отличием SkypeKit от других решений (sendmessage, COM) является то, что клиентское приложение Skype не требуется ... вы можете напрямую взаимодействовать с сетью Skype ...

У меня неткопайте это решение, так как доступ не бесплатный (не дорогой, но без реального проекта, для меня это было не пошло ...).

Так что это может быть очень полезно, если выпланирую заменить настоящий скайп-клиент своим программным обеспечением на конечном компьютере ... но если вы просто хотите взаимодействовать с существующим, я не уверен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...