C#でSkypeAPIを使ってみた

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

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

開発環境

  • Windows7Professional(32bit)
  • visualC#2010Express

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

skype4com:

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