Delen via


Volumebesturingselementen

Clients die gedeelde modusstreams beheren, gebruiken doorgaans het ISimpleAudioVolume en IAudioSessionEvents interfaces in WASAPI- om de volumeniveaus van de stroom te beheren en te bewaken. Via de methoden in de interface ISimpleAudioVolume kan de client de volumeniveaus van de audiosessies ophalen en instellen waartoe de streams in de gedeelde modus behoren. Als Sndvol of een andere toepassing het niveau van het sessievolume wijzigt, kan de client een melding van de wijziging ontvangen via de IAudioSessionEvents interface.

Clients die exclusieve-modusstreams beheren, gebruiken doorgaans de IAudioEndpointVolume en IAudioEndpointVolumeCallback-interfaces in de EndpointVolume-API- om de volumeniveaus van de stroom te beheren en te bewaken. Via de methoden in de interface IAudioEndpointVolume kan de client het volumeniveau van een audio-eindpuntapparaatophalen en instellen. Als Sndvol of een andere toepassing het volumeniveau van het eindpuntapparaat wijzigt, kan de client een melding ontvangen van de wijziging via de IAudioEndpointVolumeCallback-interface.

Zoals uitgelegd in Audiosessies, is Sndvol het systeemvolumebesturingsprogramma. Er worden volumebesturingselementen weergegeven voor de apparaten met het audiorenderingseindpunt in het systeem. (Op dit moment worden de volumebesturingselementen voor eindpuntapparaten voor audio-capture niet weergegeven.) Als u de volumebesturingselementen voor een bepaald apparaat wilt weergeven, klikt u op Apparaat in de menubalk en selecteert u een apparaatnaam in de lijst met beschikbare apparaten.

Het Sndvol-venster scheidt de volumebesturingselementen voor een apparaat in twee groepen. Het groepsvak aan de linkerkant van het venster is gelabeld Device. Het vak Device bevat één volumeregeling die wordt beheerd door de interface IAudioEndpointVolume. Wijzigingen die de gebruiker aanbrengt in dit volumebeheer, kunnen worden bewaakt via de IAudioEndpointVolumeCallback interface.

Het groepsvak aan de rechterkant van het Sndvol-venster is gelabeld Applications. Het vak Toepassingen bevat de volumebesturingselementen voor de toepassingen die momenteel het apparaat delen. Voor toepassingen die het apparaat in de gedeelde modus gebruiken, vertegenwoordigen de volumebesturingselementen de volumeniveaus die worden beheerd door de interface ISimpleAudioVolume. Wijzigingen die de gebruiker aanbrengt in deze volumebesturingselementen kunnen worden bewaakt via de IAudioSessionEvents interface.

Hoewel een toepassing in de gedeelde modus de IAudioSessionEvents interface kan gebruiken om wijzigingen te controleren die de gebruiker aanbrengt in de volumeregeling van de toepassing in het vak Toepassingen in het Sndvol-venster, kan de toepassing geen wijzigingen in de volumeregelaars van andere, niet-gerelateerde toepassingen controleren. Op dezelfde manier kan een toepassing de volumeniveaus van de audiosessies wijzigen via de interface ISimpleAudioVolume, maar de volumeniveaus van sessies die deel uitmaken van andere, niet-gerelateerde toepassingen, kunnen niet worden gewijzigd.

Twee of meer gerelateerde toepassingen (of exemplaren van dezelfde toepassing) kunnen echter dezelfde volumeregeling delen in het vak Toepassingen in het Sndvol-venster door hun audiostreams toe te wijzen aan dezelfde crossprocessessie of door hun respectieve sessies te koppelen aan dezelfde groeperingsparameter. Zie Audiosessies en Grouping Parametersvoor meer informatie.

WASAPI biedt twee extra interfaces, IChannelAudioVolume en IAudioStreamVolume, om de volumeniveaus van gedeelde-modusstreams te beheren. Deze interfaces worden voornamelijk gebruikt door gespecialiseerde clients die controle vereisen over de volumeniveaus van afzonderlijke kanalen in een sessie of afzonderlijke streams in een sessie.

Met de DeviceTopology-API kunnen clients toegang krijgen tot de volumebesturingselementen in de topologieën van audioadapters. Clients die exclusieve modusstreams beheren, gebruiken doorgaans echter de EndpointVolume-API in plaats van de DeviceTopology-API om de volumeniveaus van de stream te beheren. De EndpointVolume-API vereenvoudigt het beheer van het volume van een eindpuntapparaat op twee manieren. Als een eindpuntapparaat eerst een hardwarevolumeregeling implementeert, vereist de DeviceTopology-API dat de client de apparaattopologie doorkruist op zoek naar hardwarebeheer. Daarentegen vindt de EndpointVolume-API automatisch de hardwarevolumeregeling voor de client. Ten tweede, als het eindpuntapparaat geen hardwarevolumeregeling implementeert, moet een DeviceTopology-client een volumeregeling in software implementeren. De EndpointVolume-API vervangt daarentegen automatisch een softwarevolumeregeling voor het ontbrekende hardwarebeheer.

In de volgende secties worden volumebesturingselementen voor audiosessies en voor audio-eindpuntapparaten beschreven:

programmeerhandleiding voor