Condividi tramite


Oggetto Reader

[La funzionalità associata a questa pagina, Windows Media Format 11 SDK, è una funzionalità legacy. È stata sostituita da lettore di origine e writer sink. lettore di origine e sink writer sono stati ottimizzati per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi lettore di origine e writer sink invece di Windows Media Format 11 SDK, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

L'oggetto lettore legge i campioni di dati dai file multimediali. L'oggetto lettore supporta attualmente i file che usano la struttura di file ASF (Advanced Systems Format) e i file MP3. I dati recapitati dall'oggetto lettore sono non compressi e pronti per il rendering per impostazione predefinita, anche se i campioni possono essere recapitati senza essere decompressi se necessario. Gli esempi vengono recapitati in modo asincrono dall'oggetto lettore; è necessario configurare una funzione di callback per riceverli. Per la riproduzione sincrona dei file ASF, usare l'oggetto lettore sincrono. Né il lettore né il lettore sincrono eseguono il rendering di dati. È necessario fornire routine di rendering personalizzate per visualizzare i supporti recuperati da un file.

Quando un file contiene supporti codificati che possono essere decodificati con un codec supportato dall'oggetto lettore, è possibile controllare il formato dell'output non compresso. Per modificare il formato dell'output decompresso per un flusso, è necessario recuperare l'oggetto proprietà dei supporti di output predefinito per tale flusso, apportare modifiche al flusso e riassegnarlo al flusso nel lettore. Gli oggetti proprietà dei supporti di output sono subordinati all'oggetto lettore e devono essere creati solo usando il metodo IWMReader::GetOutputProps.

L'oggetto lettore viene creato dalla funzione WMCreateReader, che imposta un puntatore a un'interfaccia IWMReader. Le altre interfacce dell'oggetto lettore possono essere ottenute chiamando il metodo QueryInterface.

Le interfacce seguenti sono supportate dall'oggetto lettore.

Interfaccia Descrizione
IReferenceClock Fornisce l'accesso all'orologio di sistema utilizzato dal lettore.
IWMDRMReader Gestisce l'acquisizione delle licenze, proprietà drm e l'individualizzazione client.
IWMDRMReader2 Fornisce l'accesso alle licenze che usano i livelli di protezione dell'output (OPL) per specificare i diritti.
IWMHeaderInfo Imposta e recupera informazioni sull'intestazione, inclusi i metadati, i marcatori e i dati di script.
IWMHeaderInfo2 Recupera informazioni sui codec utilizzati per codificare il contenuto nel file. Eredita tutti i metodi di IWMHeaderInfo.
IWMHeaderInfo3 Supporta dimensioni di attributi di grandi dimensioni, nomi di attributi duplicati e supporto per più lingue. Eredita tutti i metodi di IWMHeaderInfo e IWMHeaderInfo2.
IWMPacketSize Recupera le dimensioni del pacchetto più grande nel file caricato nel lettore.
IWMPacketSize2 Recupera le dimensioni del pacchetto più piccolo nel file caricato nel lettore.
IWMProfile Fornisce l'accesso alle informazioni sul profilo del file caricato nel lettore.
IWMProfile2 Recupera l'identificatore univoco globale (GUID), se presente, associato al profilo. Eredita tutti i metodi di IWMProfile.
IWMProfile3 Supporta la condivisione della larghezza di banda e le informazioni sulla priorità del flusso nel profilo. Eredita tutti i metodi di IWMProfile e IWMProfile2.
IWMReader Fornisce funzionalità di lettura di file di base, tra cui operazioni quali apertura, chiusura, avvio, sospensione, ripresa, arresto e recupero e impostazione delle proprietà di output.
IWMReaderAccelerator Comunica con l'accelerazione video DirectX.
IWMReaderAdvanced Fornisce funzionalità avanzate del lettore, ad esempio un orologio fornito dall'utente, l'allocazione del buffer, le statistiche restituite e le notifiche di selezione dei flussi.
IWMReaderAdvanced2 Fornisce un intervallo aggiuntivo di metodi avanzati per un oggetto lettore esistente. Eredita tutti i metodi di IWMReaderAdvanced.
IWMReaderAdvanced3 Fornisce funzionalità avanzate di ricerca e controllo di streaming. Eredita tutti i metodi di IWMReaderAdvanced e IWMReaderAdvanced2.
IWMReaderAdvanced4 Fornisce opzioni di lettura avanzate, tra cui il supporto di più lingue. Eredita tutti i metodi di IWMReaderAdvanced, IWMReaderAdvanced2e IWMReaderAdvanced3.
IWMReaderNetworkConfig Controlla le impostazioni di configurazione di rete.
IWMReaderNetworkConfig2 Fornisce l'accesso alle impostazioni di configurazione di rete avanzate. Eredita tutti i metodi di IWMReaderNetworkConfig.
IWMReaderStreamClock Imposta e annulla i timer sugli orologi di flusso e recupera il valore corrente di un clock di flusso specificato.
IWMReaderTimecode Fornisce informazioni sugli intervalli di codice di tempo SMPTE nel file caricato nel lettore.
IWMReaderTypeNegotiation Verifica se le modifiche alle proprietà di output di un flusso funzionano correttamente.

 

Le interfacce di callback seguenti possono essere implementate nell'applicazione per tenere traccia dello stato di avanzamento di un oggetto lettore.

Interfaccia Descrizione
IWMCredentialCallback Acquisisce le credenziali degli utenti e verifica che disponga dell'autorizzazione per accedere a un sito remoto.
IWMReaderAllocatorEx Fornisce alternative espanse ai metodi AllocateForOutput e AllocateForStream dell'interfaccia IWMReaderCallbackAdvanced.
IWMReaderCallback Fornisce metodi di callback per i metodi Start e Open di IWMReader.
IWMReaderCallbackAdvanced Fornisce metodi di callback per i metodi dell'interfacciaIWMReaderAdvanced.
IWMStatusCallback Obbligatorio quando le informazioni sullo stato devono essere comunicate all'applicazione host.

 

oggetti

lettura di file ASF

oggetto Reader sincrono