Чем SkypeKit отличается от программирования с помощью Skype API?

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


person Robert Oschler    schedule 29.09.2011    source источник


Ответы (3)


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

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

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

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

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

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

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

person o_nix    schedule 19.06.2012
comment
Какова надежность и надежность инструментария? Сможете ли вы делать то, что вам нужно, или есть серьезные ошибки, мешающие вашему прогрессу? Кроме того, хорошо ли это поддерживает Skype, особенно когда речь идет об ответах на отчеты об ошибках (JIRA)? - person Robert Oschler; 20.06.2012
comment
@RobertOschler, он работает хорошо, но я еще не очень сильно его тестировал. У разработчиков есть devforum, я думаю, это единственный способ получить поддержку. Кстати, я вижу, что у них тоже есть поддержка .NET в их API. - person o_nix; 20.06.2012
comment
Поддерживает ли Skype Android SDK возможность изменения части сообщения SDP, чтобы потоки RTP мультимедиа направлялись на IP-адрес и порт, отличный от того, на котором работает приложение? - person Nancy thakkar; 12.11.2016

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

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

person Simon Featherstone    schedule 09.03.2016

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

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

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

person Whiler    schedule 15.05.2012