Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Nadat een toepassing audioverwerking heeft gestart, configureert de opbouwfunctie voor grafieken de sAPO's in een audiografiek en initialiseert de sAPO's. De audioservice onderhandelt vervolgens met de LFX sAPO om de indeling voor de audiogegevens op de invoer en uitvoer van de sAPO in te stellen. Dit onderhandelingsproces wordt ook wel format-onderhandeling genoemd.
Alle sAPO's die audiosystemeneffecten bieden voor Windows Vista moeten bepaalde interfaces en methoden hebben. De methoden die door de sAPO en de audio-engine worden gebruikt om te onderhandelen over de gegevensindeling zijn: de Methode IsInputFormatSupported van de interface IAudioProcessingObject en de methoden LockForProcess en UnlockForProcess van de interface IAudioProcessingObjectConfiguration .
Om format-onderhandeling te starten, stelt de audioservice eerst de uitvoer van de LFX sAPO in op de standaardindeling op basis van float32. De audioservice roept vervolgens de methode IAudioProcessingObject::IsInputFormatSupported van de LFX sAPO aan, stelt de standaardindeling voor en bewaakt het HRESULT-antwoord van deze methode. Als de LFX sAPO de voorgestelde indeling kan ondersteunen, wordt S_OK geretourneerd, samen met een verwijzing naar de ondersteunde indeling. Als de LFX sAPO de voorgestelde indeling niet kan ondersteunen, retourneert deze S_FALSE samen met een verwijzing naar een indeling die het dichtst bij de voorgestelde indeling past. Als de LFX sAPO de voorgestelde indeling niet kan ondersteunen en geen nauwkeurige overeenkomst heeft, wordt APOERR_FORMAT_NOT_SUPPORTED geretourneerd. De GFX sAPO is compatibel met de uitvoerindeling van de LFX sAPO. De GFX sAPO is dus niet betrokken bij het format-onderhandelingsproces.
Nadat een gegevensindeling is geselecteerd om de audiogegevens te verwerken, roept de opbouwfunctie voor audioverwerkingsgrafieken de methode IAudioProcessingObjectConfiguration::LockForProcess van de sAPOs aan, waardoor de opmaakselectie wordt voltooid.
Als de Windows Vista sAPO een fout retourneert naar de aangepaste sAPO wrapping als reactie op een aanroep naar de methode LockForProcess , moet de aangepaste sAPO de fout op dezelfde manier verwerken als een fout van CoCreateInstance wanneer een poging om een sAPO te instantiƫren mislukt. Raadpleeg het Spkrfill.cpp-bestand voor meer informatie over het overschrijven van de door het systeem geleverde LockForProcess-methode.
Vanwege de manier waarop de audioservice werkt, moeten de LFX- en GFX-sAPOs onafhankelijk van elkaar kunnen reageren op query's van de audioservice met betrekking tot gegevensindelingen.
Belangrijk Wanneer u een aangepaste sAPO implementeert die een Windows Vista LFX sAPO verpakt, geeft u de vlag APO_FLAG_FRAMESPERSECOND_MUST_MATCH niet op in de registratie-eigenschappen van de aangepaste sAPO. Als u deze vlag opgeeft, kan de Windows Vista LFX sAPO geen luidsprekervulling, hoofdtelefoonvirtualisatie of virtuele surround uitvoeren. Bovendien kan uw aangepaste sAPO geen audiostreams downmixen. Uw aangepaste sAPO kan bijvoorbeeld geen 5.1-audiostream omzetten naar een stereo-audiostream met twee kanalen.