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. |
Argomenti correlati