2011-09-29 21 views
14

Tôi có rất nhiều kinh nghiệm viết các ứng dụng Delphi 6 Pro sử dụng API Skype. Tôi không sử dụng đối tượng COM nhưng thay vào đó tôi giao diện trực tiếp với ứng dụng khách Skype bằng cách sử dụng hệ thống SendMessage(). Ứng dụng hiện tại của tôi hoạt động như một proxy âm thanh hai chiều đầy đủ với truyền video. Để truyền tải âm thanh, tôi sử dụng ALTER CALL với tham số PORT để thiết lập kết nối âm thanh hai chiều với ứng dụng khách Skype thông qua một cặp ổ cắm. Để gửi video, tôi có bộ lọc DirectX dựa trên DSPACK để hướng dẫn ứng dụng khách Skype chọn thiết bị video đã chọn. Điều này hoạt động tốt nhưng vì đó là API của Skype, tôi có sự lúng túng khi giao tiếp với ứng dụng khách Skype như một thực thể riêng biệt.SkypeKit khác với lập trình bằng API Skype như thế nào?

Giờ đây, SkypeKit cho phép nhà phát triển tích hợp Skype theo cách tích hợp hơn nhiều. Tôi sắp đi sâu vào nó và tôi muốn nghe từ bất kỳ nhà phát triển nào đã chuyển từ Skype API sang SkypeKit. Một số câu hỏi:

  1. Có điều gì thiếu trong SkypeKit được cung cấp qua API Skype khiến chuyển đổi ứng dụng của bạn trở nên khó khăn nếu không thể không?

  2. Bạn có lời khuyên nào về việc chuyển đổi mượt mà nhất có thể không, đặc biệt là khi tránh bất kỳ sự lựa chọn thiết kế nào có thể thực sự trở lại ám ảnh bạn khi bạn xuống con đường SkypeKit?

  3. Bạn có tìm thấy bất kỳ tài nguyên web hoặc tài liệu nào từ các nhà phát triển khác thực sự hữu ích trong việc tiết kiệm thời gian hoặc rắc rối cho bạn không? (Xin vui lòng chia sẻ liên kết nếu có).

Trả lời

4

Tôi đang sử dụng SkypeKit trong ứng dụng Java trung tâm trò chuyện của mình vì vậy tôi chưa xử lý A/V.

SkypeKit chỉ là một chương trình "hộp đen" tương tác với giao thức Skype của iteslf. Nó là một tập tin thực thi bắt đầu một quá trình lắng nghe trên cổng cục bộ. Quá trình này rất nhẹ, chỉ 20mB trên máy phát triển dựa trên Windows của tôi. Nó chạy hoàn toàn ở chế độ nền, không có bất kỳ thông báo nào khi khởi động/nhắn tin/tắt máy.

Chương trình khách hàng của bạn tương tác với nó bằng cách gửi cấu trúc byte qua đường hầm SSL cục bộ. Các cấu trúc này được bao bọc bởi API cho C++, Java và Pyton. Java API rất dễ dàng. Bạn bắt đầu quá trình, tạo đối tượng new Skype() và đăng nhập bằng thông tin đăng nhập tài khoản Skype của bạn và thực hiện cuộc gọi lại chương trình khi một số sự kiện xảy ra.

Vì vậy, @Whiler không hoàn toàn đúng, bạn luôn cần một ứng dụng lưu trữ, nhưng trong trường hợp này, ứng dụng này nhỏ và nhanh.

Tôi không biết bộ công cụ dựa trên phần cứng hoạt động như thế nào nhưng tôi nghĩ đó là cách cấp thấp hơn.

Bạn có thể đọc API Java here, API C++ (có ví dụ) here và Python (với các ví dụ) here.

Ồ, và ít nhất một sự khác biệt nhỏ giữa API máy tính để bàn và dựa trên bộ công cụ: bạn có thể đăng XML text trong cuộc trò chuyện.

+0

thế nào là độ tin cậy và vững mạnh của bộ công cụ? Bạn có thể làm những gì bạn cần hoặc có lỗi đáng chú ý cản trở sự tiến bộ của bạn? Ngoài ra, Skype có hỗ trợ tốt không, đặc biệt là khi trả lời các báo cáo lỗi (JIRA)? –

+0

@RobertOschler nó hoạt động tốt nhưng tôi đã không kiểm tra nó rất khó. Các nhà phát triển có [devforum] (http://devforum.skype.com/), đó là cách duy nhất để nhận hỗ trợ, tôi nghĩ vậy. Nhân tiện, tôi thấy họ cũng có hỗ trợ .NET trong API của họ. –

+0

SDK Skype Android có hỗ trợ cho phép sửa đổi phần SDP của thông điệp, sao cho luồng RTP truyền thông sẽ được định tuyến đến địa chỉ IP và cổng khác với ứng dụng đang chạy không? –

1

Sự khác biệt chính giữa SkypeKit và các giải pháp khác (SendMessage, COM) là các ứng dụng client Skype là không cần thiết ... bạn có thể trực tiếp tương tác với mạng skype ...

tôi thiên đường không đào giải pháp này vì quyền truy cập không miễn phí (không đắt tiền, nhưng không có projet thực, đây là không đi đối với tôi ...). Vì vậy, điều này có thể rất hữu ích nếu bạn dự định thay thế máy khách skype thực bằng phần mềm của riêng bạn trên máy cuối cùng ... nhưng nếu bạn chỉ muốn tương tác với máy tính hiện tại, tôi không chắc chắn như vậy.

Các vấn đề liên quan