Condividi tramite


Aggiungere una fonte

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. Essa è stata sostituita da MediaPlayer, IMFMediaEngine, e Acquisizione audio/video in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice utilizzi il MediaPlayer, l'IMFMediaEngine e l'Acquisizione audio/video in Media Foundation anziché il DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

[Questa API non è supportata e potrebbe essere modificata o non disponibile in futuro.]

Creare un oggetto di origine nello stesso modo in cui si creano altri oggetti sequenza temporale. Prima di inserirlo nella sequenza temporale, tuttavia, è necessario specificare almeno le proprietà seguenti nell'origine.

Nell'esempio seguente, la clip di origine inizia quattro secondi dopo l'inizio del file. La durata del contenuto multimediale è di 10 secondi, due volte la lunghezza della durata della sequenza temporale, il che significa che l'origine verrà riprodotta al doppio della velocità normale. La costante UNITS è definita come 10000000 (10^7) ed è uguale a un secondo.

pSourceObj->SetStartStop(0, 50000000)
BSTR bstrFile = SysAllocStringLen(OLESTR("C:\\example.avi"), 15);
pSource->SetMediaName(bstrFile); 
SysFreeString(bstrFile);
pSource->SetMediaTimes(40000000, 140000000);

Nota

Attualmente, DES non può eseguire contemporaneamente il rendering di più di 75 origini compresse con codec VCM (Video Compression Manager). Inoltre, se il progetto nel suo complesso contiene più di 75 origini di questo tipo, è necessario usare la riconnessione dinamica o DES non può visualizzare in anteprima il progetto. Per altre informazioni, vedere IRenderEngine::SetDynamicReconnectLevel.

 

Per altre informazioni sulle origini, vedere Uso delle origini.

Costruzione di una sequenza temporale