Returns the list of members actively talking in a conference.
DWORD cnfGetActiveTalkersList ( CNFRESOURCEHD cnfresourcehd, DWORD confid, unsigned maxmemberids, DWORD *memberidlist, unsigned *nummemberids)
|
Argument |
Description |
|
cnfresourcehd |
Handle returned by cnfOpenResource. |
|
confid |
Conference identifier returned by cnfCreateConference. |
|
maxmemberids |
Maximum number of entries in memberidlist array. |
|
memberidlist |
Pointer to an array of DWORD where the function returns the list of member identifiers. If NULL, this function just returns the number of members talking in a conference. |
|
nummemberids |
Pointer to a returned number of member identifiers. |
|
Return value |
Description |
|
SUCCESS |
|
|
CTAERR_BAD_ARGUMENT |
nummemberids or memberidlist pointer is NULL. |
|
CTAERR_INVALID_HANDLE |
cnfresourcehd is not a valid conference resource handle. |
|
CNFERR_INVALID_IDENTIFIER |
confid is not a valid conference identifier. |
cnfGetActiveTalkersList is typically called after the application receives CNFEVN_ACTIVE_TALKERS_CHANGE. Using this function, the application can compare the actual count of members currently included in the conference with the list of the corresponding member identifiers. To change the number of members selected as active talkers, set the corresponding attribute. Refer to cnfGetConferenceAttribute and cnfSetConferenceAttribute for further details about conference related attributes.
The successive active talkers lists are not queued in NaturalConference. The application receiving the corresponding event must retrieve the list in the appropriate time delay.
For more information, refer to NaturalConference events.
cnfCreateConference, cnfGetMemberList
extern CNFRESOURCEHD cnfresourcehd;
unsigned getTalkerList(DWORD confid, DWORD *talkeridlist,
unsigned maxmemberids)
{
DWORD error;
unsigned numtalkerids = 0;
error = cnfGetActiveTalkersList (cnfresourcehd, confid,
maxmemberids, talkeridlist,
&numtalkerids);
if (error != SUCCESS)
{
printf("Error when retrieving active talker list :%d", error);
}
return (numtalkerids);
}