Di robydx (del 10/09/2010 @ 23:28:17, in DirectX9, linkato 2257 volte)
Video è il nuovo oggetto per riprodurre file video in giochi ed applicazioni. I formati sono tutti quelli supportati dal vostro computer (in genere tutti quelli che girano tramite media player). Quindi potete caricare avi in tutte le compressioni, mpeg, wmv e anche file quicktime. Il funzionamento dell'oggetto video è molto semplice per le applicazioni ma un pò meno per i giochi dato che occorre una gestione particolare di DirectX e delle procedure di Reset del Device. Di conseguenza sarà necessario anche il successivo tutorial per inserire video nei giochi. Per usare l'oggetto video sono necessari i riferimenti e gli imports già visti nel precedente tutorial. Dichiarate un oggetto Video
Dim video1 As Video
e createlo
video1 = New Video(FileName)
Dove filename è una stringa contenente il path completo del file. Ora dovete decidere dove visualizzare il filmato. Questo si fa passando un controllo alla proprietà owner. Ad esempio video1.Owner = nomeControllo Potete usare moltissimi controlli (form, picturebox e addirittura pulsanti). I risultati migliori si avranno però con picturebox e un pò meno con i form dato che in genere tutti gli altri controlli sul form tendono a sparire. Ora potete usare il file video. Ecco le istruzioni. video1.Audio : nell'oggetto video c'è un oggetto audio relativo alla traccia sonora. Se nel filmato c'è audio potete quindi regolare tutte le proprietà tramite questo oggetto (vedi precedente tutorial). video1.Play :avvia il filmato video1.Stop :ferma il filmato video1.Pause :pausa il filmato. Al play questo partirà tuttavia di nuovo dall'inizio video1.fullscreen : impostatelo a true per visualizzare il filmato a pieno schermo, false per tornare alla modalità normale. Attenzione che in fullscreen non è facile rispondere ad eventi di tasti e mouse tramite form e conviene usare altri metodi come ad esempio tastiera e mouse di Direct Input. video1.Duration : durata in secondi del filmato video1.CurrentPosition : per ottenere o impostare la posizione attuale del filmato. video1.Size : serve per impostare la grandezza del filmato. Se non lo fate il controllo verrà ridimensionato dal filmato. Potete farlo solo dopo il play e state attenti che ora il controllo ha nuove dimensioni: quelle del filmato. video1.State : se uguale a running, stop o pausing allora si trova in quello stato MaximumIdealSize e MinimumIdealSize : info sulle dimensioni migliori in cui vedere un filmato. video1.AverageTimePerFrame : time per frame (potete calcolarci info) video1.DefaultSize :dimensioni originali del filmato HideCursors e showCursors : per nascondere o mostrare il mouse quando passa sul filmato Video1.Caption : se non assegnate un owner ad un filmato verrà mostrato in una finestra creata dal sistema e tramite caption gli date un nome. Queste sono le principali. Le dimensioni possono essere ottenute o passate tramite l'oggetto size. Per non avere problemi fermate il filmato prima di caricarne un'altro sullo stesso oggetto. Potete riprodorre molti filmati contemporaneamente se il PC c'è la fa. Questo sistema non è adatto per i filmati dei giochi per il quale è necessario un rendering su texture (non è immediato ma neanche troppo difficile). Per questo vi rimando al prossimo tutorial. Vi lascio all'esempio.