6

このような利用可能なオーディオデバイスのリストを取得しようとすると。

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)
4

2 に答える 2

0

コードの「//Do something」部分に問題があるようです。

私は彼をうまく走らせました。

 var Client = LyncClient.GetClient();

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

これが機能しない場合、スタック トレースの可能性はありますか?

于 2013-10-16T18:39:20.557 に答える