System.unauthorizedAccessexception在尝试在Lync 2013中接受音频呼叫时



我正在设计我正在设计的Lync客户端问题。我正在以UI抑制模式运行Lync 2013,并且可以发送/接收IM的良好,并开始音频通话。但是,当我尝试从其他人那里接收音频对话时,就会发生问题。当我尝试调用此代码时,我会得到一个system.unauthorizedAccessexception:

conv.Modalities[ModalityTypes.AudioVideo].BeginConnect(ModalityCallback, asyncState);

否则它运行得很好,而且通话可以通过,我可以听到并与另一侧交谈,但是我的用户界面冻结了,由于此错误,我无法控制任何东西。即使对方挂断电话,我也必须在任务经理中杀死该过程。

这是我的InitiateAvstream方法,基于MSDN加入Lync对话示例:

    public bool InitiateAVStream()
    {
        Console.WriteLine("InitiateAVStream");
        if (conv.State == ConversationState.Terminated)
        {
            return false;
        }
        if (conv.Modalities[ModalityTypes.AudioVideo].CanInvoke(ModalityAction.Connect))
        {
            conv.Modalities[ModalityTypes.AudioVideo].ModalityStateChanged += _AVModality_ModalityStateChanged;
            conv.Modalities[ModalityTypes.AudioVideo].ActionAvailabilityChanged += _AVModality_ActionAvailabilityChanged;
            //Accept the notification. If Lync UI is enabled, incoming call notification is closed.
            conv.Modalities[ModalityTypes.AudioVideo].Accept();
            //Connect the AV modality and begin to send and received AV stream.
            object[] asyncState = { conv.Modalities[ModalityTypes.AudioVideo], "CONNECT" };
            try
            {
                conv.Modalities[ModalityTypes.AudioVideo].BeginConnect(ModalityCallback, asyncState);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.StackTrace);
            }
            return true;
        }
        return false;
    }

输出消息:

A first chance exception of type 'System.UnauthorizedAccessException' occurred in Microsoft.Lync.Model.dll 
at Microsoft.Office.Uc.ModalityClass.Connect(ModalityConnectOptions _options, Object _modalityCallback, Object _state)
at Microsoft.Lync.Model.Conversation.Modality.BeginConnect_private(ModalityConnectOptions options, AsyncCallback modalityCallback, Object state)
at Microsoft.Lync.Model.Conversation.Modality.BeginConnect(AsyncCallback modalityCallback, Object state)
at UIPrototype.MeetingForm.InitiateAVStream() in c:UsersmorrissiDocumentsVisual Studio 2012ProjectsUIPrototypeUIPrototypeMeetingForm.cs:line 758

任何输入都将不胜感激。这对我来说很奇怪,只有当我尝试接受传入的音频电话时才发生。其他一切都很好。我尚未开始在视频通话上进行工作,但是一旦音频工作就可以。

谢谢

编辑:

用BeginReTrieve替换开头连接仍然会引发相同的错误并产生相同的结果。仍然不确定该怎么做。

您从哪里运行应用程序?我有一个非常相似的堆栈Trace,并将应用程序移至" C: Users Myuser"中为我解决了问题。

我能够解决问题。显然,当您仅连接音频呼叫时,唯一需要的行是

conv.Modalities[ModalityTypes.AudioVideo].Accept();

您无需致电beginConnect即可连接音频。删除开头连接可以防止丢弃错误,并且音频连接仍然很好。BeginConnect用于连接视频。

我的问题与未完全加载的表单不相关,并且似乎是无关的。这是因为我试图在consingmanager_conversationed中创建新形式。如果我尝试在单击按钮上创建新表单,则加载正常并有效,但似乎是阻止其正常工作的事件。

我对此不够好,无法识别何时由lync或c#引起的错误。

最新更新