Aggiunta di un'origine
[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation anziché 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 può essere modificata o non disponibile in futuro.]
Creare un oggetto di origine allo 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.
- Ora di inizio e arresto, rispetto alla sequenza temporale. Chiamare il metodo IAMTimelineObj::SetStartStop .
- File multimediale da usare come origine. Chiamare il metodo IAMTimelineSrc::SetMediaName con una stringa di caratteri wide che rappresenta il nome del file.
- Ora di inizio e arresto del supporto, che sono relative al file originale. Chiamare il metodo IAMTimelineSrc::SetMediaTimes . Per altre informazioni sui tempi multimediali, vedere Time in DirectShow Editing Services.
Nell'esempio seguente, la clip di origine inizia quattro secondi nel file. La durata del supporto è di 10 secondi, due volte la lunghezza della durata della sequenza temporale, ovvero l'origine verrà riprodotta con una velocità doppia 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 contiene più di 75 origini, è necessario usare la riconnessione dinamica o des non è in grado di visualizzare in anteprima il progetto. Per altre informazioni, vedere IRenderEngine::SetDynamicReconnectLevel.
Per altre informazioni sulle origini, vedere Uso delle origini.
Argomenti correlati