Skype ICallChannelManagerEvents被触发时

时间:2012-11-07 18:20:19

标签: c++ skype skype4com skype4java skype4py

我正在使用Skype进行App to App通信。我的要求是当一个Skype用户进行呼叫/视频呼叫时,我想使用应用程序流将来自One App Plugged in Skype的消息发送到插入Skype的其他应用程序。

在单独的示例应用程序中我能够使用Application Stream从一个应用程序发送和接收消息到其他应用程序,但我想在用户拨打电话时激活应用程序流。

Skype4COM为ICallChannelManager公开了这三个事件

  1. ICallChannelManagerEvents ::频道
  2. ICallChannelManagerEvents ::创建
  3. ICallChannelManagerEvents ::消息
  4. 我已经注册了这三个活动

    hr = m_pCallChannelMgr.CreateInstance(__uuidof(CallChannelManager));
    hr = SinkSkypeCallChannelMgrEvents::DispEventAdvise(m_pCallChannelMgr);
    
    hr = m_pCallChannelMgr->CreateApplication(L"");
    VARIANT_BOOL flag = m_pCallChannelMgr->GetCreated();
    while(true )
    {
    if ( VARIANT_TRUE == flag) break;
    flag = m_pCallChannelMgr->GetCreated();
    Sleep(1000);
    
    }
    hr = m_pCallChannelMgr->Connect(m_Skypeptr);
    

    当m_pCallChannelMgr-> CreateApplication();被称为触发ICallChannelManagerEvents :: Created事件。

    我不确定,当其他两个事件ICallChannelManagerEvents :: Channels和ICallChannelManagerEvents :: Message被触发时。 Plz帮助我。

1 个答案:

答案 0 :(得分:0)

问题解决了当正在进行调用并且您的插件开始挂钩到Skype ICallChannelManagerEvents被触发时。