【问题标题】:Detecting an incoming call in Lync在 Lync 中检测来电
【发布时间】:2012-03-01 17:28:28
【问题描述】:

我正在尝试在 Lync 客户端中检测来电。这是通过订阅 Lync 客户端中的 ConversationManager.ConversationAdded 事件来完成的,如this post中所述

但是,如果在呼叫者呼叫之前与呼叫者的对话窗口已经打开,则通过使用此方法,我无法检测到来电。 例如,如果我正在与朋友聊天,因此打开了对话窗口,而该朋友决定给我打电话,则不会触发 ConversationAdded 事件。

当我已经与来电者进行了活跃的对话时,如何检测来电?

谢谢, 尼克拉斯

【问题讨论】:

    标签: c# lync


    【解决方案1】:

    您应该订阅 Conversation.Modalities[ModalityTypes.AudioVideo] 上的 ModalityStateChanged 事件,这将在创建 AV 模态或更改状态时为您提供事件。

    【讨论】:

      【解决方案2】:

      您需要监控对话中的模态状态。两种可用的模式是 IM 和 AV,因此您需要注意它们的状态变化,如下所示:

      void ConversationManager_ConversationAdded(object sender, Microsoft.Lync.Model.Conversation.ConversationManagerEventArgs e)
      {
          e.Conversation.Modalities[ModalityTypes.InstantMessage].ModalityStateChanged += IMModalityStateChanged;
          e.Conversation.Modalities[ModalityTypes.AudioVideo].ModalityStateChanged += AVModalityStateChanged;
      }
      
      void IMModalityStateChanged(object sender, ModalityStateChangedEventArgs e)
      {
          if (e.NewState == ModalityState.Connected)
              MessageBox.Show("IM Modality Connected");
      }
      
      void AVModalityStateChanged(object sender, ModalityStateChangedEventArgs e)
      {
          if (e.NewState == ModalityState.Connected)
              MessageBox.Show("AV Modality Connected");
      }
      

      此示例使用 ConversationAdded 事件来连接事件处理程序以进行模态更改,因此这仅适用于在应用程序运行时启动的对话。要在应用程序启动之前对已经处于活动状态的对话执行相同操作,可以将此代码添加到应用程序的启动例程中:

      foreach (var conv in _lync.ConversationManager.Conversations)
      {
          conv.Modalities[ModalityTypes.InstantMessage].ModalityStateChanged += new EventHandler<ModalityStateChangedEventArgs>(IMModalityStateChanged);
          conv.Modalities[ModalityTypes.AudioVideo].ModalityStateChanged += new EventHandler<ModalityStateChangedEventArgs>(AVModalityStateChanged);
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-10-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-09
        • 2015-11-17
        • 1970-01-01
        相关资源
        最近更新 更多