无法从Lync 2013 sdk获取可用的音频设备

时间:2013-10-15 20:00:15

标签: c# lync lync-client-sdk lync-2013

当我尝试获取此类可用音频设备列表时。

LyncClient client = LyncClient.GetClient();
foreach (Device dev in client.DeviceManager.AudioDevices)
{
      //Do something
}

我收到错误Exception has been thrown by the target of an invocation.

"Unable to cast COM object of type 'System.__ComObject' to interface type 
'Microsoft.Office.Uc.IAudioDevice2'. This operation failed because the QueryInterface 
call on the COM component for the interface with IID '{86B3E5FE-4635-4C1E-
A725-C80B71D04984}' failed due to the following error: No such interface supported 
(Exception from HRESULT: 0x80004002 (E_NOINTERFACE))."

这是堆栈跟踪

at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
at Microsoft.Lync.Model.Internal.UCWCache.CreateUCW(Object source, CCOMInfo ccomInfo)
at Microsoft.Lync.Model.Internal.UCWCache.GetITTargetNS(Object source)
at Microsoft.Lync.Model.Internal.UCEnumerator`2.get_Current()
at Microsoft.Lync.Model.Internal.UCEnumerator`2.System.Collections.Generic.IEnumerator<S>.get_Current()

内部异常堆栈跟踪

at Microsoft.Lync.Model.Device.AudioDevice.INTERNAL_Init(IAudioDevice initInterface)
at Microsoft.Lync.Model.Device.AudioDevice.INTERNAL_Init_Object(Object initInterface)

2 个答案:

答案 0 :(得分:1)

您是否检查过Lync和SDK是否具有相同的版本号?

Lync 2013似乎有很多版本,它们可能没有相同的版本。

答案 1 :(得分:0)

问题似乎出现在代码的“// Do something”部分。

我刚跟他跑了。

 var Client = LyncClient.GetClient();

       foreach (var dev in Client.DeviceManager.AudioDevices)
       {               
           Console.WriteLine(dev.Name);
       }

如果这不起作用,是否有可能进行堆栈跟踪?