10

私はセキュリティ モニター アプリケーションに取り組んでいましたが、私が見つけた最良のアプローチは Skype でした。

侵入の可能性がある場合、アプリケーションは指定された Skype ID を呼び出します。これはおそらく私の Android フォンであり、すべての画像処理が完了しました。しかし、私はこの Skype API で立ち往生しています。私はこのコードを書きました:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SKYPE4COMLib;


namespace SkypeCall
{
    class Program
    {
        static void Main(string[] args)
        {
            Skype skype;
            skype = new Skype("Skype4COM.Skype", "Skype_");

            Call call = skype.PlaceCall(SkypeID);
            call.StartVideoSend();
        }
    }
}

これにより音声通話が開始されますが、call.StartVideoSend(); エラーを示します

 An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in SkypeCall.exe

Additional information:  CALL: Action failed

私もこれを試しましたが、それは古い API であり、何も得られなかったと思います。そして、コマンドを送信することさえできません。

誰かが私を助けてくれたら、私は感謝します。

4

1 に答える 1

5

電話がつながるまでお待ちいただく必要があると思います。

最も簡単な方法は、call.Status をテストすることです。

class Program
    {
        static void Main(string[] args)
        {
            Skype skype;
            skype = new SKYPE4COMLib.Skype();
            string SkypeID = args[1];
            Call call = skype.PlaceCall(SkypeID);
            do
            {
                System.Threading.Thread.Sleep(1);
            } while (call.Status != TCallStatus.clsInProgress);
            call.StartVideoSend();
        }
    }

イベントを追加することもできますが、これはすべての呼び出しで発生すると思うので、このプロジェクトにのみ使用しない限り、多すぎる可能性があります.

class Program
    {
        static string SkypeID = "";
        static void Main(string[] args)
        {
            Skype skype;
            skype = new SKYPE4COMLib.Skype();
            skype.CallStatus += new _ISkypeEvents_CallStatusEventHandler(skype_CallStatus);
            Call call = skype.PlaceCall(SkypeID);

            Console.ReadKey();
        }

        static void skype_CallStatus(Call pCall, TCallStatus Status)
        {
            if (Status == TCallStatus.clsInProgress && pCall.PartnerHandle == SkypeID) { pCall.StartVideoSend(); }
        }
    }
于 2012-01-30T16:25:51.313 に答える