Assegnazione di formati di output
Alcuni codec possono decomprimere i dati multimediali digitali in diversi formati non compressi. È possibile trovare tutti i formati supportati per un output specifico usando il lettore asincrono o il lettore sincrono.
Per esaminare tutti i formati disponibili per un output, seguire questa procedura. Queste procedure sono identiche sia per il lettore asincrono che per il lettore sincrono. Dove i nomi di interfaccia variano, i metodi di lettura sincroni vengono elencati tra parentesi dopo i metodi del lettore asincrono.
Creare un oggetto lettore e caricare un file per la lettura. Per altre informazioni, vedere Per creare un lettore e aprire un file (o per creare un lettore sincrono e aprire un file).
Determinare l'output per il quale si desidera trovare i formati disponibili. Se non si conosce già l'output da usare, è possibile identificare gli output nel file usando le procedure in Per identificare i numeri di output.
Recuperare il numero totale di formati disponibili per l'output desiderato chiamando IWMReader::GetOutputFormatCount (o IWMSyncReader::GetOutputFormatCount).
Scorrere i formati disponibili uno alla volta, eseguendo i passaggi seguenti per ognuno:
Recuperare l'interfaccia IWMOutputMediaProps per il formato di output corrente chiamando IWMReader::GetOutputFormat (o IWMSyncReader::GetOutputFormat).
Recuperare la struttura WM_MEDIA_TYPE per il formato di output effettuando due chiamate a IWMMediaProps::GetMediaType. Effettuare la prima chiamata per ottenere le dimensioni della struttura, quindi allocare memoria e passare un puntatore alla memoria allocata nella seconda chiamata.
Trovare il sottotipo multimediale del formato di output in WM_MEDIA_TYPE.sottotipo.
Per il video, se il sottotipo corrente è il formato che si vuole usare per l'output, interrompere il ciclo. In caso contrario, passare all'iterazione successiva.
Per l'audio, è necessario controllare i valori nella struttura WAVEFORMATEX in base alle esigenze. WM_MEDIA_TYPE.pbFormat punta alla struttura WAVEFORMATEX per gli output audio.
Dopo aver trovato l'output desiderato, impostarlo per l'uso con il lettore chiamando IWMReader::SetOutputProps (o IWMSyncReader::SetOutputProps). È necessario passare un puntatore all'interfaccia IWMOutputMediaProps ottenuta nel primo passaggio del ciclo.
Argomenti correlati