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