【问题标题】:No client SDK for Skype for Business 2016没有适用于 Skype for Business 2016 的客户端 SDK
【发布时间】:2016-01-18 16:13:08
【问题描述】:

我已更新到 Skype for Business 2016 (Office 2016),我正在开发的与 Lync 客户端集成的桌面应用程序已开始引发异常。

我猜测 SDK 版本 15.0.4481.100 与 Skype for Business 版本 16.0.42.66.1003 不兼容,但我找不到比 Lync 2013 SDK (2014-03-17) 更新的 SDK。

Skype for Business 2016 的桌面客户端开发是否不像 2013 版那样支持?

例外:
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)).

更新

LyncClient.GetClient( sideBySide ).DeviceManager.AudioDevices

当我遍历音频设备时发生异常。使用嵌入式(UI 抑制)S4B 客户端启动和接受呼叫可以正常工作,但 sideByside 不能。我最初的问题的答案似乎是肯定的,但并不完全!

【问题讨论】:

    标签: c# sdk client skype-for-business


    【解决方案1】:

    就像 Ankit 提到的,2013 SDK 也适用于 Skype for Business 2016。

    要绕过安装限制(“未找到 Microsoft Lync 2013”​​),请使用 Jon Gallant 的建议: http://blog.jongallant.com/2016/08/solution-lync-2013-not-found/

    即解压 lyncsdk.exe 并手动安装相应的 MSI(x86 或 x64)。

    【讨论】:

      【解决方案2】:

      您可以使用 ILyncClient“内部对象”(来自 Microsoft.Office.Uc)来解决此问题

      例如:

          static bool SetClientAudioDevice(LyncClient client, string name)
          {
              var innerClient = (ILyncClient)client.InnerObject;
              var deviceManager = innerClient.DeviceManager;
      
              Console.WriteLine("Current audio device: [{0}]", client.DeviceManager.ActiveAudioDevice.Name);
              Console.WriteLine("Lync Client Audio Devices List:");
              var ok = false;
              foreach (var device in deviceManager.AudioDevices.OfType<Microsoft.Office.Uc.AudioDevice>())
              {
                  Console.WriteLine("    AudioDevice: [{0}], Active[{1}], ID[{2}], IsCertified[{3}], Priority[{4}], Type[{5}]", device.Name, device.IsActive, device.Id, device.IsCertified, device.Priority, device.Type);
      
                  if (device.Name.IndexOf(name, StringComparison.InvariantCultureIgnoreCase) >= 0)
                  {
                      Console.WriteLine("        Setting active device!");
                      deviceManager.ActiveAudioDevice = device;
                      ok = true;
                  }
              }
              return ok;
          }
      

      【讨论】:

      • 我们遇到了同样的错误,也不得不求助于这种方法。
      【解决方案3】:

      Lync Client SDK 2013 应该支持 Skype for Business 2016。目前还没有宣布新的客户端 SDK。

      【讨论】:

      • 好的,谢谢!您能否确认 2013 SDK 适用于您的 S4B 2016?
      • 我已成功将 Lync Client SDK 与 S4B(从 Lync 2013 升级)客户端一起使用。如果它适用于 S4B 2016,我可以检查并向您提供更新。
      • 我检查了 S4B 2016 与 Lync Client SDK 2013 的兼容性,它看起来工作正常。但是,请检查您是否使用了自动化元素,因为 S4B 客户端 UI 已更改,这可能无法正常工作。
      • 仅安装 Lync 2016 时无法安装 Lync 2013 SDK。安装程序显示“未找到 Microsoft Lync 2013”​​。
      • 对于未来的读者:您可以从 Microsoft 下载 lync 2013 sdk,使用 7zip 打开安装程序,解压缩所需的版本(x86、x64)并安装它没有问题..
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多