SkypeAPIのコマンドをそのまま使える対話式コンソールを作った。

Skype4COMやSkypeXを使ってもWindowsアプリからSkypeを操作する事が出来るけど、なんかSkype4COMだとメッセージの返り値を受け取れなかった(俺のせい?)ので、自分で作った。

といってもほとんど完成してるコードを継承してGUIかぶせただけだけど。

Source Code & exe (Visual Studio 2005 C#2.0)

SkypeAPIControlPanel\bin\Release の中の「SkypeAPIControlPanel.exe」から起動できる。

なお、中に入っているSkypeBridge.csはSkype API Book Vol.1の17章に掲載されていたもので、ここからダウンロードもできる。

このアプリはSkypeBridge.csを継承してインタフェース部分を実装したもの。

起動すると実行の許可を求められるので、「許可」して「OK」する

SkypeAPI Dialogue



これがコンソールの画面。試しに「CALL echo123」と打ってみると、通話テストに電話をかける事が出来る(echo123は通話テストのユーザ名)

Skype API ControlPanel

Docs/ApiDoc – Skype Developer Zoneにあるコマンドを適当に試してみよう。

GET USERSTATUS とか。

んで、SkypeA2AというSkype上のP2Pフレームワークがあるのでそれを試してみた。これは↑のスクリーンショットが送った「zanmaizanmai!!」というテキストを別のマシンで起動したSkypeAPIで受け取ったところ。ベンチマークはしてないけどレスポンスがなかなか良かった気がするので楽しみだ。

Skype API ControlPanel

■A2A Stream接続手順

まず両方のPCでSkypeAPIに

CREATE APPLICATION test

を実行

次にどちらからでもいいので

ALTER APPLICATION test CONNECT 相手のユーザ名

すると、Stream(TCPみたいなもの)で接続される。

送信と受信。

ALTER APPLICATION test WRITE 相手のユーザ名:ID 送信するテキスト

ALTER APPLICATION test READ 相手のユーザ名:ID

受信は、受信したバイト数が通知されるので、READコマンドで読み出してやる必要がある。

終わったら切断する。

ALTER APPLICATION test DISCONNECT 相手のユーザ名:ID

関連:

s.h.log: C# – Skype4COMでコンタクトリストの相手にコールする

Docs/Skype4COM – Skype Developer Zone