【问题标题】:When Skype ICallChannelManagerEvents gets fired当 Skype ICallChannelManagerEvents 被触发时
【发布时间】:2012-11-07 18:20:19
【问题描述】:

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

在单独的示例应用程序中,我可以使用应用程序流从一个应用程序向另一个应用程序发送和接收消息,但我想在用户拨打电话时激活应用程序流。

Skype4COM 为 ICallChannelManager 公开这三个事件

  1. ICallChannelManagerEvents::Channels
  2. ICallChannelManagerEvents::Created
  3. ICallChannelManagerEvents::消息

我已经注册了这三个事件

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 被触发时。 请帮我解决这个问题。

【问题讨论】:

    标签: c++ skype skype4com skype4java skype4py


    【解决方案1】:

    当已经有一个呼叫正在进行并且你的插件开始连接到 Skype 时,问题已解决。 ICallChannelManagerEvents 被触发。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 2017-01-03
      • 2013-08-09
      • 1970-01-01
      相关资源
      最近更新 更多