Condividi tramite


Lettura di file ASF

[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 sorgente e scrittore di 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.

Windows Media Format SDK può essere usato per distribuire esempi multimediali da un file ASF. Vengono usati due oggetti per recuperare campioni, l'oggetto reader e l'oggetto lettore sincrono.

L'oggetto lettore è l'oggetto di lettura originale in Windows Media Format SDK. L'oggetto lettore usa un'architettura asincrona per eseguire il push di esempi in un'applicazione. Le applicazioni compilate usando l'oggetto lettore devono implementare funzioni di callback che rispondono ai vari messaggi ed eventi risultanti da questo modello multithread. Per maggiore chiarezza, questa sezione farà riferimento all'oggetto lettore come lettore asincrono.

L'oggetto lettore sincrono è una novità per questa versione di Windows Media Format SDK. Il lettore sincrono non usa più thread nell'elaborazione di esempi di file ASF. Un'applicazione compilata usando il lettore sincrono recupera campioni su richiesta, anziché attendere che il lettore li invii.

Quando si crea un'applicazione per leggere i file ASF, è necessario scegliere l'oggetto lettore da usare. In generale, le applicazioni progettate per distribuire contenuti basati su Windows Media devono essere create usando il lettore asincrono, mentre le applicazioni progettate per modificare i file ASF devono essere create con il lettore sincrono.

Nella tabella seguente sono elencate le principali funzionalità di entrambi gli oggetti lettore. Usare questa tabella per determinare quale oggetto usare per l'applicazione.

Caratteristica Lettore asincrono Lettore di sincronizzazione
Leggi campioni non compressi in base al numero di uscita
Leggere i campioni compressi per numero di stream
Leggere campioni non compressi in base al numero di flusso No
Leggere dal sito Internet No
Leggere i metadati
Cerca di visualizzare l'ora della presentazione
Cerca di inquadrare
Cercare di contrassegnare No
Passare dalla fornitura di campioni compressi a quella non compressa durante la riproduzione No
Aprire file usando l'interfaccia IStream

 

Nelle sezioni seguenti vengono fornite altre informazioni sull'utilizzo dei due oggetti lettore.

Sezione Descrizione
Gestione degli output Viene descritto come usare e modificare gli output. Si applica a entrambi gli oggetti lettore.
Allocando buffer per la lettura di file Viene descritto come usare il proprio pool di buffer per contenere campioni recapitati dal lettore o dal lettore sincrono.
lettura dei metadati in fase di riproduzione Descrive come sfruttare il supporto dei metadati durante la riproduzione. Si applica a entrambi gli oggetti lettore.
Ottenere informazioni sul profilo durante la riproduzione Viene descritto come accedere alle informazioni sul profilo per i file aperti. Si applica a entrambi gli oggetti lettore.
Lettura dell'audio multicanale Descrive come configurare il writer per decodificare correttamente l'audio multicanale.
Rendering del contenuto Vengono illustrati i problemi relativi al rendering di esempi non compressi. Si applica a entrambi gli oggetti lettore.
Ottenere le migliori prestazioni nella ricerca di video Descrive i modi per migliorare le prestazioni di ricerca di video.
lettura di file con il lettore asincrono Viene descritto come leggere i file ASF usando l'oggetto lettore asincrono.
lettura di file con il lettore sincrono Viene descritto come leggere i file ASF usando l'oggetto lettore sincrono.
l'abilitazione dell'accelerazione video DirectX Descrive come implementare l'accelerazione video DirectX per usare le funzionalità di accelerazione hardware di alcune schede video per la decodifica video.

 

Guida alla Programmazione

oggetto Reader

oggetto Lettore sincrono