我想在Skype通话结束时运行一个程序,有没有办法用C#.NET检测这样的动作?有没有可以帮助我的图书馆?我找不到任何东西!
理想情况下,我想检测任何VOIP类型的呼叫开始/结束。这可能吗?
答案 0 :(得分:1)
你见过SkypeKit吗?它允许设置回调,例如这些。
答案 1 :(得分: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方法中实现您的逻辑。