gpt4 book ai didi

C#在LYNC中自动接听电话

转载 作者:行者123 更新时间:2023-12-02 05:42:27 24 4
gpt4 key购买 nike

我想在 LYNC 中自动接听任何来电。

使用 SDK 我可以检测到来电。如果有人用语音或视频调用我,将调用下面的方法。

void AVModalityStateChanged(object sender, ModalityStateChangedEventArgs e)
{
if (e.NewState == ModalityState.Notified)
{
// someone is calling me
}
}

但我现在需要有关如何接听此电话的帮助。

我的整个 Lync 连接类可以在这里查看:http://www.pastebucket.com/2293

这将用于 session 室设置,如果只需调用房间电话就足够了,而另一端的人不必做任何事情,那就太好了。

最佳答案

您最好的选择是订阅在来电时引发的事件,而不是在状态更改时引发的事件。这是因为传入事件包含调用对象的句柄,然后您可以使用它来接受调用。

看看 ConversationManager.ConversationAdded事件。对于传入的 IM 和 AV 对话(包括 AV 调用)会引发此问题。

稍微有点棘手的一点是,您会收到有关传入的对话的通知,但它实际上是您要接受的调用。不过没关系,因为 Call 对象包含在 Conversation 对象中,它是传递的 EventArgs 的一部分。

让我们暂时假设您只想接听 AV 电话,而不是 IM 电话。因此,您需要做的第一件事是查看您刚刚收到通知的对话是否实际上是 AV 调用。您可以通过使用从事件传递的 ConversationManagerEventArgs 查看对话的模式来判断这一点。 e.Conversation.Modalities 包含传入对话的所有模式。

假设这是一个 AV 电话(并最终回答您原来的问题!),然后您可以通过以下方式接听电话:

e.Conversation.Modalities[ModalityTypes.AudioVideo].Accept();

希望这对您有所帮助。我将很快写一篇关于此的博客文章,其中包含更多细节,所以我会尝试并记得在完成后更新此答案。

编辑:写得更详细的博客文章,位于:http://thoughtstuff.co.uk/2012/06/answering-the-call-accepting-incoming-calls-in-lync-client-sdk/

关于C#在LYNC中自动接听电话,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10756690/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com