Delen via


Groepeeringsparameters

Een groeperingsparameter identificeert een verzameling audiosessies die allemaal worden beheerd door één volumeregeling in het systeem volumebesturingsprogramma, Sndvol. De groeperingsparameter is een GUID die de verzameling uniek identificeert binnen het bereik van de computer.

Het doel van een groeperingsparameter is vergelijkbaar met die van de sessie-GUID voor een sessie voor meerdere processen. Met de groeperingsparameter kan de gebruiker een verzameling streams van een willekeurig aantal processen beheren als één eenheid. De groeperingsparameter dient echter voor dit doel in omstandigheden waarin sessies voor meerdere processen geen oplossing kunnen bieden.

Als meerdere clients hun respectieve streams toewijzen aan afzonderlijke sessies, maar dezelfde groeperingsparameter toewijzen aan alle sessies, geeft Sndvol één volumeregeling voor deze sessies weer. Als u ondersteuning wilt bieden voor groepeerparameters, moet Sndvol of een vergelijkbare toepassing voor volumebeheer het volgende doen:

  • Voordat u de volumebesturingselementen weergeeft, controleert u de groeperingsparameters van alle actieve sessies. Groepeer onder één volumebeheer alle sessies met dezelfde groeperingsparameter.
  • Wanneer de gebruiker de instelling voor een volumeregeling voor een bepaalde groeperingsparameter wijzigt, werkt u de volumeniveaus bij van alle sessies die die groepeerparameter delen.

Met groepeerparameters kan het aantal volumebesturingselementen dat door Sndvol wordt weergegeven worden verminderd. Gebruikers kunnen in de war raken als Sndvol de weergave rommelig maakt met te veel bedieningselementen. Zonder ondersteuning voor groeperingsparameters zou Sndvol altijd een afzonderlijke volumeregeling weergeven voor elke sessie, wat in alle omstandigheden mogelijk niet geschikt is. Bovendien bieden groeperingsparameters een handige manier om ervoor te zorgen dat sessies met vergelijkbare typen audio-inhoud eenvoudig kunnen worden ingesteld op hetzelfde volumeniveau.

Zoals eerder uitgelegd, wijzen audio-API's op een hoger niveau doorgaans hun streams toe aan de standaard, processpecifieke sessie (geïdentificeerd door de sessie-GUID-waarde GUID_NULL). Met deze standaardinstelling kan Sndvol een afzonderlijke volumeregeling weergeven voor elk clienttoepassingsproces. Dit is vaak het gewenste gedrag. Bovendien, als verschillende exemplaren van dezelfde client worden uitgevoerd in afzonderlijke processen, maar één gedeeld volumebeheer vereisen, kunnen de clients hun streams gewoon toewijzen aan dezelfde sessie voor meerdere processen. Geen van deze gevallen vereist het gebruik van groeperingsparameters. Een belangrijk geval, zoals geïllustreerd door Microsoft Internet Explorer, vereist echter het gebruik van groeperingsparameters om het gewenste gedrag te bereiken.

Met Internet Explorer kunnen gebruikers meerdere browservensters openen en deze vensters worden mogelijk niet allemaal in hetzelfde proces uitgevoerd. Gebruikers kunnen in de war raken als Sndvol een afzonderlijke volumeregeling voor elk toepassingsexemplaren weergeeft, die allemaal hetzelfde label hebben, Internet Explorer. Een sessie voor meerdere processen is in dit geval geen haalbare oplossing: als verschillende exemplaren van Internet Explorer in verschillende processen worden uitgevoerd, kunnen ze mogelijk niet alle audiostreams toewijzen aan één processessie. De reden hiervoor is dat de Internet Explorer-vensters mogelijk exemplaren van Windows Media Player of een andere multimedia-invoegtoepassing uitvoeren die gebruikmaakt van een audio-API op een hoger niveau om de audiostreams af te spelen. Deze API's wijzen doorgaans de streams in een proces toe aan een standaard, processpecifieke sessie. Internet Explorer heeft geen controle over de toewijzing van deze streams aan sessies.

MET WASAPI wordt dit probleem opgelost door elk exemplaar van Internet Explorer toegang te geven tot de sessiebesturingselementen voor de standaardsessie, processpecifieke sessie en om een groeperingsparameter toe te wijzen aan die sessie. Als alle exemplaren van Internet Explorer dezelfde groeperingsparameter toewijzen aan al hun audiosessies, wordt in Sndvol één volumeregeling voor deze sessies weergegeven.

Een sessie behoort standaard niet tot een groepering. Als een client geen sessie expliciet toewijst aan een groepering, geeft Sndvol een toegewezen volumeregeling voor die sessie weer. De waarde van de groeperingsparameter GUID_NULL geeft aan dat een sessie geen deel uitmaakt van een groepering. Als er geen client expliciet een groeperingsparameter aan een sessie heeft toegewezen, wordt de waarde voor de groepeerparameter voor die sessie standaard GUID_NULL.

Een client kan de groepering waaraan een sessie is toegewezen dynamisch wijzigen.

Een groepering kan elke combinatie van kruisprocessessies en processpecifieke sessies bevatten op een audio-eindpuntapparaat.

Met de Sndvol-gebruikersinterface kan de gebruiker de volumebesturingselementen voor slechts één audio-eindpunt tegelijk weergeven. Wanneer de gebruiker de volumebesturingselementen voor een bepaald apparaat aanpast, worden de volumeniveaus van sessies die verbinding maken met andere apparaten niet beïnvloed. Met name een volumeregeling voor een bepaalde groeperingsparameter is alleen van invloed op sessies die de groepeerparameter delen en zijn verbonden met het momenteel geselecteerde apparaat. Een sessie die een identieke groeperingsparameter heeft, maar is verbonden met een ander apparaat, wordt niet beïnvloed.

Zoals eerder beschreven, labelt Sndvol elk volumebeheer dat wordt weergegeven met een weergavenaam en pictogram. In het geval van een volumeregeling voor een groepering selecteert Sndvol willekeurig een van de sessies in de groepering als bron voor de weergavenaam en het pictogram dat wordt weergegeven met het volumebeheer. Om ervoor te zorgen dat Sndvol altijd dezelfde weergavenaam en hetzelfde pictogram voor een groepering weergeeft, moeten alle toepassingsexemplaren die sessies aan die groepering toewijzen ervoor zorgen dat hun respectieve sessies dezelfde weergavenaam en hetzelfde pictogram hebben. Zie Audiosessiesvoor meer informatie over weergavenamen en pictogrammen.

Een toepassing zoals Sndvol kan zich registreren om meldingen te ontvangen wanneer de groepeerparameter voor een sessie wordt gewijzigd. Dergelijke meldingen kunnen handig zijn als de toepassing informatie over de toewijzing van sessies aan groepeerparameters in de cache opgeslagen. Een melding informeert de toepassing dat de gegevens in de cache mogelijk niet meer geldig zijn.

Als u een groepeerparameter wilt toewijzen aan een sessie, roept u de methode IAudioSessionControl::SetGroupingParam aan. Als u de groepeerparameter wilt verkrijgen die aan een sessie is toegewezen, roept u de methode IAudioSessionControl::GetGroupingParam aan.

Audiosessies