如何在使用 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 对话邀请