Oggetto Lettore

[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 Writer sink sono stati ottimizzati per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi Lettore di origine e Writer sink anziché 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 reader legge esempi di dati dai file multimediali. L'oggetto lettore supporta attualmente i file usando la struttura di file ASF (Advanced Systems Format), nonché i file MP3. I dati recapitati dall'oggetto lettore non sono compressi e pronti per il rendering per impostazione predefinita, anche se gli esempi 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 riceverle. Per la riproduzione sincrona dei file ASF, usare l'oggetto lettore sincrono. Né il lettore né il lettore sincrono esegue 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 riassegnare il flusso nel lettore. Gli oggetti proprietà dei supporti di output sono subordinati all'oggetto reader e devono essere creati solo usando il metodo IWMReader::GetOutputProps .

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

Le interfacce seguenti sono supportate dall'oggetto reader.

Interfaccia Descrizione
IReferenceClock Fornisce l'accesso all'orologio di sistema usato dal lettore.
IWMDRMReader Gestisce l'acquisizione di licenze, le proprietà DRM e l'individualizzazione client.
IWMDRMReader2 Fornisce l'accesso alle licenze che usano i livelli di protezione di output (OPL) per specificare i diritti.
IWMHeaderInfo Imposta e recupera informazioni sull'intestazione, inclusi metadati, marcatori e dati di script.
IWMHeaderInfo2 Recupera informazioni sui codec usati 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 del 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à di flusso nel profilo. Eredita tutti i metodi di IWMProfile e IWMProfile2.
IWMReader Fornisce funzionalità di lettura di file di base, incluse operazioni come aprire, chiudere, avviare, sospendere, riprendere, arrestare e impostare le 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 del flusso.
IWMReaderAdvanced2 Fornisce un'ulteriore gamma di metodi avanzati per un oggetto lettore esistente. Eredita tutti i metodi di IWMReaderAdvanced.
IWMReaderAdvanced3 Fornisce un controllo avanzato di ricerca e streaming. Eredita tutti i metodi di IWMReaderAdvanced e IWMReaderAdvanced2.
IWMReaderAdvanced4 Offre opzioni di lettura avanzate, tra cui il supporto per più lingue. Eredita tutti i metodi di IWMReaderAdvanced, IWMReaderAdvanced2 e IWMReaderAdvanced3.
IWMReaderNetworkConfig Controlla le impostazioni di configurazione della rete.
IWMReaderNetworkConfig2 Fornisce l'accesso alle impostazioni di configurazione di rete avanzate. Eredita tutti i metodi di IWMReaderNetworkConfig.
IWMReaderStreamClock Imposta e annulla i timer negli orologi di flusso e recupera il valore corrente di un orologio di flusso specificato.
IWMReaderTimecode Fornisce informazioni sugli intervalli di codice temporali 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 abbiano l'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'interfaccia IWMReaderAdvanced .
IWMStatusCallback Obbligatorio quando le informazioni sullo stato devono essere comunicate all'applicazione host.

 

Oggetti

Lettura dei file ASF

Oggetto lettore sincrono