1

Skype通話が終了したときにプログラムを実行したいのですが、C#.NETを使用してそのようなアクションを検出する方法はありますか?私を助けることができる図書館はありますか?見つかりません!

理想的には、VOIPタイプの通話の開始/終了を検出したいと思います。これは可能ですか?

4

2 に答える 2

1

SkypeKitを見たことがありますか? これらのようなコールバックを設定できます。

于 2012-09-17T10:06:02.327 に答える
0

たぶんそうだ。次のコードを開始点として Skype4COM を使用できます。

using System;
using System.Windows.Forms;
using SKYPE4COMLib;

namespace SkypeCall
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            InitializeSkype();
        }

        private void InitializeSkype()
        {
            s = new Skype();
            _ISkypeEvents_Event events = s;

            events.AttachmentStatus += OnAttachementStatusChanged;
            events.CallStatus += OnCallStatusChanged;

            s.Attach();
        }

        private void OnCallStatusChanged(Call call, TCallStatus status)
        {
            switch (status)
            {
                case TCallStatus.clsInProgress: break;
                case TCallStatus.clsCancelled: break;
                case TCallStatus.clsFinished: break;
                case TCallStatus.clsRinging: break;
                //.
                //.
                //.                 
            }


            // call.PstnNumber;
            // call.PstnStatus;
        }

        private void OnAttachementStatusChanged(TAttachmentStatus status)
        {
            if (status == TAttachmentStatus.apiAttachSuccess)
            {
                attached = true;
            }
        }


        private Skype s;
        private bool attached;
    }
}

OnCallStatusChanged メソッド内にロジックを実装します。

于 2012-09-17T19:09:56.500 に答える