Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
[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.
- Orari di inizio e arresto rispetto alla sequenza temporale. Chiamare il metodo IAMTimelineObj::SetStartStop.
- File multimediale da utilizzare come origine. Chiamare il metodo IAMTimelineSrc::SetMediaName con una stringa a caratteri larghi che rappresenta il nome del file.
- Orari di inizio e fine dei media, relativi al file originale. Chiamare il metodo IAMTimelineSrc::SetMediaTimes. Per ulteriori informazioni sui tempi dei media, vedere Ora in DirectShow Editing Services.
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.
Argomenti correlati