Assegnazione di formati di output
[La funzionalità associata a questa pagina, Windows Media Format 11 SDK, è una funzionalità legacy. È stata sostituita dal lettore di origine e dallo scrittore di destinazione . 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 scrittore 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.
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 lettore sincrono 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 di 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 di essi:
Recuperare l'interfacciaIWMOutputMediaPropsper 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 per essa e passare un puntatore alla memoria allocata nella seconda chiamata.
Trova il sottotipo multimediale del formato di output in WM_MEDIA_TYPE.subtype.
Per il video, se il sottotipo corrente è il formato che desideri utilizzare per l'output, termina 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 le uscite 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
-
interfaccia IWMMediaProps
-
Interfaccia IWMOutputMediaProps
-
interfaccia IWMReader
-
Interfaccia IWMSyncReader