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 回答