Lettura di file ASF
[La funzionalità associata a questa pagina, Windows Media Format 11 SDK, è una funzionalità legacy. È stata sostituita dal lettore di origine e dal 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.
Windows Media Format SDK può essere usato per distribuire esempi multimediali da un file ASF. Due oggetti vengono usati per recuperare campioni, l'oggetto reader e l'oggetto lettore sincrono.
L'oggetto reader è l'oggetto di lettura originale in Windows Media Format SDK. L'oggetto reader usa un'architettura asincrona per eseguire il push di esempi in un'applicazione. Le applicazioni compilate usando l'oggetto reader 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à di questa versione di Windows Media Format SDK. Il lettore sincrono non usa più thread nell'elaborazione di esempi da 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 l'oggetto da usare per l'applicazione.
Funzionalità | Lettore asincrono | Lettore di sincronizzazione |
---|---|---|
Leggere esempi non compressi in base al numero di output | Sì | Sì |
Legge i campioni compressi in base al numero di flusso | Sì | Sì |
Leggere esempi non compressi per numero di flusso | No | Sì |
Lettura dal sito Internet | Sì | No |
Leggere i metadati | Sì | Sì |
Cercare l'ora di presentazione | Sì | Sì |
Cerca in frame | Sì | Sì |
Cercare di contrassegnare | Sì | No |
Passare dal recapito di campioni compressi a quello non compresso durante la riproduzione | No | Sì |
Aprire file con l'interfaccia IStream | Sì | Sì |
Nelle sezioni seguenti vengono fornite altre informazioni sull'utilizzo dei due oggetti lettore.
Sezione | Descrizione |
---|---|
Utilizzo degli output | Viene descritto come usare e modificare gli output. Si applica a entrambi gli oggetti lettore. |
Allocazione di 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 | Viene descritto come sfruttare il supporto dei metadati durante la riproduzione. Si applica a entrambi gli oggetti lettore. |
Recupero delle informazioni sul profilo durante la riproduzione | Viene descritto come accedere alle informazioni del profilo per i file aperti. Si applica a entrambi gli oggetti lettore. |
Lettura di 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 di 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 lettore sincrono | Viene descritto come leggere i file ASF usando l'oggetto lettore sincrono. |
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. |
Argomenti correlati