Не удалось получить доступное аудиоустройство из Lync 2013 sdk

Когда я пытаюсь получить список доступных аудиоустройств, подобных этому.

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)

person user1098580    schedule 15.10.2013    source источник
comment
у меня та же проблема, не могли бы вы опубликовать версию, которая решила эту проблему (как SDK, так и Lync Client 2013).   -  person Anas    schedule 23.03.2014
comment
Извините за задержку с ответом. Я использую эту версию Lync support.microsoft.com/kb/2825630. и эта версия SDK microsoft.com/en-ca/ скачать/confirmation.aspx?id=36824   -  person user1098580    schedule 29.05.2014


Ответы (2)


Вы проверили, что и Lync, и ваш SDK имеют одинаковые номера версий?

Кажется, существует много выпусков Lync 2013, и они могут иметь разные версии.

person MartinVeronneau    schedule 17.10.2013

Проблема, похоже, в части кода "//Do something".

Я просто побежал за ним нормально.

 var Client = LyncClient.GetClient();

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

Есть ли шанс на трассировку стека, если это не сработает?

person Paul Hodgson    schedule 16.10.2013
comment
Ошибка возникает внутри самого foreach, когда он пытается повлиять на переменную dev. Я добавил трассировку стека. - person user1098580; 17.10.2013