C#でSkypeAPIを使ってみた

chakemiです。三連休なんてあっという間に終わってしまいますね。 まぁ、休みだろうが、やってることは普段と変わらないのですが。。。

本日は、C#でSkypeAPIを使ってみたいと思います。 いまさらな感じもありますが、noto師匠との連絡に使うかもしれないですしね。

開発環境

  • Windows7Professional(32bit)
  • visualC#2010Express

まずはSkypeアプリケーションをインストールが必須です。 「echo/sound test service」でマイク・スピーカーの動作を確認しときます。で、ここから本題です。 skypeではpublicAPIが公開されていますのでまずはを入手します。

skype4com: http://developer.skype.com/accessories

zipファイルを適当な位置に展開したら、.dllファイルを登録します。

1
C:\Users>regsvr32 Skype4COM.dll

VisualC#2010Expressを起動して、COMコンポーネントを登録します。 ※Skype自体を起動しておかないと、VC#がハングしてしまうので気をつけてください。

ツールボックスウィンドウ上で右クリックし、「アイテムの選択」を選択。 「COMコンポーネント」タブを選択し、「Skype Class」にチェックを入れOK。 ツールボックスに「Skype Class]が追加されます。

あとは、FORM上にドラッグ&ドロップし、コンポーネントを使用出来るようにします。 このとき、Skype側で「~がSkypeの使用をリクエストしています」と表示されます。 「アクセスを許可」を選択すると、はじめてSkypeAPIが使えるようになります。

フォームエディタでFormをダブルクリックし、フォームロード時のイベントを登録し SkypeのCOMコントロールを呼びます。

1
2
3
4
private void Form1_Load(object sender, EventArgs e)
{
axSkype1.Attach();
}

ボタンを追加して以下のようにテストサービスにCALLしてみます。

1
2
3
4
5
private void button1_Click(object sender, EventArgs e)
{
//Skypeのサウンドテストサービスに接続してみます
axSkype1.PlaceCall("echo123");
}

アプリケーションを起動すると、Skype側にアクセス許可のダイアログが表示されますので アクセスを許可します。

「Echo / Sound Test Service」に接続したら、成功です!

まだリファレンスを全然読んでないので、なんとも言えませんが どんな事に使えるか考えてみようと思います。

Comments