2

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

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

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

谢谢。

4

1 回答 1

0

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

视频通道的状态如何?

于 2012-06-20T21:51:20.157 回答