Delen via


Lezerobject

[De functie die is gekoppeld aan deze pagina, Windows Media Format 11 SDK, is een verouderde functie. Het is vervangen door Source Reader en Sink Writer. Bronlezer en Sink Writer zijn geoptimaliseerd voor Windows 10 en Windows 11. Microsoft raadt ten zeerste aan om nieuwe code te gebruiken bronlezer en Sink Writer- in plaats van Windows Media Format 11 SDK, indien mogelijk. Microsoft stelt voor dat bestaande code die gebruikmaakt van de verouderde API's, indien mogelijk opnieuw worden geschreven om de nieuwe API's te gebruiken.]

Het lezerobject leest gegevensvoorbeelden uit mediabestanden. Het lezerobject ondersteunt momenteel bestanden met behulp van de ASF-bestandsstructuur (Advanced Systems Format), evenals MP3-bestanden. Gegevens die door het lezerobject worden geleverd, zijn standaard niet gecomprimeerd en gereed voor rendering, hoewel voorbeelden kunnen worden geleverd zonder indien gewenst te worden gedecomprimeerd. Voorbeelden worden asynchroon geleverd vanuit het lezerobject; u moet een callback-functie instellen om deze te ontvangen. Gebruik het synchrone lezerobject voor het synchrone afspelen van ASF-bestanden. De lezer of synchrone lezer geeft geen gegevens weer. U moet uw eigen renderingroutines opgeven om de media weer te geven die zijn opgehaald uit een bestand.

Wanneer een bestand gecodeerde media bevat die kunnen worden gedecodeerd met een codec die wordt ondersteund door het lezerobject, kunt u de indeling van de niet-gecomprimeerde uitvoer beheren. Als u de indeling van gedecomprimeerde uitvoer voor een stream wilt wijzigen, moet u het standaardobject voor uitvoermedia-eigenschappen voor die stream ophalen, er wijzigingen in aanbrengen en deze opnieuw toewijzen aan de stream in de lezer. Eigenschappenobjecten voor uitvoermedia zijn ondergeschikt aan het lezerobject en mogen alleen worden gemaakt met behulp van de methode IWMReader::GetOutputProps.

Het lezerobject wordt gemaakt door de functie WMCreateReader, waarmee een aanwijzer wordt ingesteld op een IWMReader-interface. De andere interfaces van het lezerobject kunnen worden verkregen door de methode QueryInterface aan te roepen.

De volgende interfaces worden ondersteund door het lezerobject.

Interface Beschrijving
IReferenceClock- Biedt toegang tot de systeemklok die door de lezer wordt gebruikt.
IWMDRMReader- Beheert het verkrijgen van licenties, DRM--eigenschappen en client-individualisatie.
IWMDRMReader2- Biedt toegang tot licenties die gebruikmaken van uitvoerbeveiligingsniveaus (OPL) om rechten op te geven.
IWMHeaderInfo- Hiermee stelt en haalt u headergegevens op, inclusief metagegevens, markeringenen scriptgegevens.
IWMHeaderInfo2 Haalt informatie op over de codecs die zijn gebruikt om de inhoud in het bestand te coderen. Neemt alle methoden van IWMHeaderInfoover.
IWMHeaderInfo3- Ondersteunt grote kenmerkgrootten, dubbele kenmerknamen en ondersteuning voor meerdere talen. Neemt alle methoden van IWMHeaderInfo en IWMHeaderInfo2over.
IWMPacketSize- Haalt de grootte op van het grootste pakket in het bestand dat in de lezer is geladen.
IWMPacketSize2 Haalt de grootte op van het kleinste pakket in het bestand dat in de lezer is geladen.
IWMProfile Biedt toegang tot de profielgegevens van het bestand dat in de lezer is geladen.
IWMProfile2- Haalt de GUID (Globally Unique Identifier) op, indien van toepassing, die is gekoppeld aan het profiel. Neemt alle methoden van IWMProfileover.
IWMProfile3 Ondersteunt informatie over het delen van bandbreedte en het prioritiseren van stromen in het profiel. Neemt alle methoden van IWMProfile en IWMProfile2over.
IWMReader- Biedt basismogelijkheden voor het lezen van bestanden, waaronder bewerkingen zoals openen, sluiten, starten, onderbreken, hervatten, stoppen en de uitvoereigenschappen instellen.
IWMReaderAccelerator Communiceert met DirectX-videoversnelling.
IWMReaderAdvanced- Biedt geavanceerde functies van de lezer, zoals een door de gebruiker geleverde klok, buffertoewijzing, retourstatistieken en stroomselectiemeldingen.
IWMReaderAdvanced2 Biedt een extra reeks geavanceerde methoden voor een bestaand lezerobject. Neemt alle methoden van IWMReaderAdvancedover.
IWMReaderAdvanced3 Biedt geavanceerde zoek- en streamingbeheer. Neemt alle methoden van IWMReaderAdvanced en IWMReaderAdvanced2over.
IWMReaderAdvanced4- Biedt geavanceerde opties voor lezers, waaronder ondersteuning voor meerdere talen. Neemt alle methoden van IWMReaderAdvanced, IWMReaderAdvanced2en IWMReaderAdvanced3over.
IWMReaderNetworkConfig- Hiermee bepaalt u de netwerkconfiguratie-instellingen.
IWMReaderNetworkConfig2 Biedt toegang tot geavanceerde netwerkconfiguratie-instellingen. Neemt alle methoden van IWMReaderNetworkConfigover.
IWMReaderStreamClock- Hiermee stelt en annuleert u timers op streamklokken en haalt u de huidige waarde van een opgegeven stroomklok op.
IWMReaderTimecode Bevat informatie over SMPTE-tijdcodebereiken in het bestand dat in de lezer is geladen.
IWMReaderTypeNegotiation- Test of wijzigingen in de uitvoereigenschappen van een stream goed werken.

 

De volgende callback-interfaces kunnen in de toepassing worden geïmplementeerd om de voortgang van een lezerobject bij te houden.

Interface Beschrijving
IWMCredentialCallback- Haalt de referenties van gebruikers op en controleert of ze gemachtigd zijn om toegang te krijgen tot een externe site.
IWMReaderAllocatorEx Biedt uitgebreide alternatieven voor de methoden AllocateForOutput en AllocateForStream methoden van de IWMReaderCallbackAdvanced interface.
IWMReaderCallback- Biedt callback-methoden voor de Start en Open methoden van IWMReader.
IWMReaderCallbackAdvanced- Biedt callback-methoden voor de methoden van de IWMReaderAdvanced interface.
IWMStatusCallback- Vereist wanneer statusinformatie moet worden gecommuniceerd met de hosttoepassing.

 

objecten

ASF-bestanden lezen

Synchrone lezer-object