如何在使用 Lync Client API 2010 拒绝后接受传入的视频呼叫?

Posted

技术标签:

【中文标题】如何在使用 Lync Client API 2010 拒绝后接受传入的视频呼叫?【英文标题】:How to accept an incoming video call after it was declined with Lync Client API 2010? 【发布时间】:2012-06-08 10:42:04 【问题描述】:

我正在使用 Lync Client API 2010 实现一个应用程序,该应用程序将允许用户通过它而不是通过 Lync 客户端窗口接受/拒绝 IM/音频/视频 Lync 对话。在大多数情况下,我可以让应用程序按预期工作,但以下情况除外:

    假设帐户 LyncA 使用帐户 LyncB 发起音频通话 我的应用程序(安装在运行 LyncB 帐户的 PC 上)通过 ConversationAdded 事件检测到在 LyncB 帐户上创建了一个新的 lync 对话。 单击我的应用程序上的接受按钮以接受来自 LyncA 的呼叫(然后我的应用程序将调用 AudioVideoModality 的 BeginConnect)。一切都按预期工作。 LyncB 接受来自 LyncA 的音频呼叫。 LyncA 单击 Lync 窗口上的视频按钮以将视频添加到对话中。 LyncB 检测到并自动显示视频窗口,无需任何用户交互,视频通道开始传输。 现在,单击 LyncB 的 Lync 窗口上的结束视频按钮以结束从 LyncA 传输的视频。视频已停止,但音频通话仍在继续。 现在,LyncA 再次单击 Lync 窗口上的“视频”按钮,将视频添加回对话中。 此时,LyncB 会弹出“接受/拒绝”消息框,要求用户允许接受或拒绝视频传输。我的应用程序通过 AudioVideoModality 的事件 ActionAvailabilityChanged 检测到这一点。但是,我的应用程序此时无法使用 Lync API 2010 接受视频传输。我已经尝试了 AudioVideoModality 中的 Accept 方法以及 BeginConnect 方法。还尝试了 AudioVideoModality 中 VideoChannel 的 BeginStart 但仍然无法接受传入的视频传输。调用 BeginConnect 方法时,抛出异常 UnauthorizedAccessException。

还有其他人在这里遇到同样的问题吗?如果您能提供一些解决此问题的提示,我们将不胜感激。

谢谢。

【问题讨论】:

【参考方案1】:

这只是一个猜测:也许 VideoChannel 仍然处于活动状态,但处于暂停状态。您可以尝试使用 AVModality BeginRetrieve 方法来检索视频。

视频频道的状态如何?

【讨论】:

当时VideoChannel状态为Notified。我曾尝试调用 AVModality.BeginRetrieve 方法,但仍然失败。它抛出了 UnauthorizedAccessException 异常。

以上是关于如何在使用 Lync Client API 2010 拒绝后接受传入的视频呼叫?的主要内容,如果未能解决你的问题,请参考以下文章

尝试使用 Exchange Server 中的 Lync Client SDK 保存 Lync 对话历史记录,但“对话历史记录”文件夹不存在

如何在 UCWA 1.0 API 中接受 Lync 对话邀请

Skype for Business Client 与 Lync Client切换

在 Lync Client 2010 中更改设置

使用 UCMA 的 Lync 客户端实施

如何将选项卡添加到 lync 2010 客户端