VOICEROID+でSkypeメッセージ喋らせる(4)
さて、今度はSkypeだ。
Skype 自体にCOMインターフェースがあるようだがSkype4COMというライブラリもあるらしい。
勝手知ったるC#で使うなら使っといたほうがそらええわってことでSkype4COMを弄ってみる。
使いにくければCOM叩くよ。
メッセージの受信
namespace SkypeSample { class Program { static void Main(string[] args) { Skype skype = new Skype(); skype.Attach(); skype.MessageStatus += new _ISkypeEvents_MessageStatusEventHandler(MessageRecieved); skype.OnlineStatus += new _ISkypeEvents_OnlineStatusEventHandler(skype_OnlineStatus); skype.CallStatus += new _ISkypeEvents_CallStatusEventHandler(skype_CallStatus); Console.ReadLine(); } static void skype_CallStatus(Call pCall, TCallStatus Status) { Console.WriteLine("{0} -> {1} : {2}", pCall.ForwardedBy, pCall.PartnerDisplayName, Status.ToString()); } static void skype_OnlineStatus(User pUser, TOnlineStatus Status) { Console.WriteLine("{0} : {1}", pUser.FullName, Status); } static void MessageRecieved(ChatMessage pMessage, TChatMessageStatus Status) { Console.WriteLine("{0} : {1}", pMessage.FromDisplayName, pMessage.Body); Console.WriteLine(Status.ToString()); } } }
実行結果
white-azalea : サンプル cmsSending white-azalea : サンプル cmsSent XXXX : おねえちゃん大好き cmsReceived XXXX : おねえちゃん大好き cmsRead -> XXXX : clsFinished -> XXXX : clsUnplaced -> XXXX : clsRouting -> XXXX : clsRinging -> XXXX : clsInProgress XX : olsOnline XX : olsOffline
ぼ、、、僕はお姉ちゃん居ないですからっ!(何)
送信はcmsSentイベントステータス、受信はcmsReceivedを受ければいいのか。