both the functions SpotlightVideo(uint userid) and UnSpotlightVideo(uint userid) often returns error 18 (Possible SDKERR_NO_VIDEODEVICE_ISFOUND ) instead of SDKERR_SUCCESS.
C# with version 5.5.12511.0422
When this happens, a delay is needed (between 500mS and 1000mS) before the function work again.
Example of workaround :
public bool SpotlightVideo(uint Id, int NumberOfTry)
{
ZOOM_SDK_DOTNET_WRAP.SDKError err;
if (NumberOfTry < 1) NumberOfTry = 1;
for (int i = 0; i < NumberOfTry; i++)
{
err = ZOOM_SDK_DOTNET_WRAP.CZoomSDKeDotNetWrap.Instance.GetMeetingServiceWrap().GetMeetingVideoController().SpotlightVideo(Id);
if (err == ZOOM_SDK_DOTNET_WRAP.SDKError.SDKERR_SUCCESS)
{
return true;
}
else
{
// Log.WriteInfo("SpotlightVideo on user " + Id.ToString() + " . Error = " + err);
System.Threading.Thread.Sleep(500);
}
}
return false;
}
It is bad coding to fix the issue like this… Please help since this is annoing and take time…
It differs.
Logging over time show that around 1/3 of all calls works on the first try.
The rest is spread out and need 2 and some of them need 3 try to success.
I have not been able to see any pattern when it fails vs when it works just fine.
First i thougt that it was releated to partisipants turning their camera off 8would be understanable that it would fail…) but the testing show no relation here.
Is it correct that SDKERR_NO_VIDEODEVICE_ISFOUND is 18 ?
If yes, is this something that is proccessed locally on the Host computer or on Zoom Server ?
Hey again.
So, I updated the SDK to version 5.7.1.643.
The change of onSpotlightVideoChangeNotification(uint lstSpotlightedUserID) is working very nicely.
But i still have the SDKERR_TOO_FREQUENT_CALL.
What is ‘Too frequent’ ? Is there something that need to be finish before calling it again?
The use case, is that 2 partisipants are spotted. these spots is to be removed and another partisipant is to be spotted. So there is a total of 3 call’s made.
Would it be a good ide to change the SDKError SpotlightVideo(uint userid) into SDKError SpotlightVideo(uint lstuserID) to reduce the number of call’s ?
Remark : The SDKERR_TOO_FREQUENT_CALL seems not to be implemented in the wrapper SDKError. The last enum is SDKERR_OTHER_SDK_INSTANCE_RUNNING.
I am not sure if this would fix the error you are receiving, however SpotlightVideo(uint userid) is an outdated interface that was replaced by SpotlightVideo(uint lstuserID), so yes I would switch to the new one.
Yes, unfortunately the wrapper is provided as is and is no longer maintained by Zoom. Only the C++ SDK is actively maintained.