Condividi tramite


Per cercare in base al numero di frame utilizzando il lettore asincrono

[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.

L'oggetto lettore asincrono può essere usato per cercare i numeri di fotogrammi dei flussi video in un file ASF. Per usare la ricerca basata su frame, il file caricato nel lettore deve essere indicizzato per frame. Ogni singolo flusso video può essere indicizzato. Per determinare se un flusso è stato indicizzato per frame, è possibile controllare l'attributo g_wszWMNumberOfFrames nell'intestazione del file chiamando IWMHeaderInfo::GetAttributeByName.

Per cercare i dati in un file ASF in base al numero di frame usando il lettore asincrono, seguire questa procedura.

  1. Ottenere un puntatore all'interfaccia IWMReaderAdvanced3 dell'oggetto lettore chiamando IWMReader::QueryInterface.
  2. Impostare il numero e la durata del frame iniziale chiamando IWMReaderAdvanced3::StartAtPosition. È necessario specificare il numero di flusso di un flusso video con indicizzazione dei fotogrammi. Il lettore sincronizzerà il resto degli output con l'ora di presentazione del frame specificato del flusso specificato e inizierà a distribuire gli esempi di output.
  3. Gestire gli esempi come normalmente si farebbe nell'implementazione del metodo IWMReaderCallback::OnSample .

Lettura di file con il lettore asincrono

Lettura dei metadati in fase di riproduzione

Operazioni con gli indici