Guida al Visual Basic .NET
Capitolo 103° - Giocare con i file multimediali
Per poter riprodurre Audio e Video è possibile usare una libreria del Framework, raggruppata nel namespace delle DirectX. Per
questo motivo bisogna prima installare le librerie microsoft DirectX: in molti compilatori sono già incluse nel pacchetto, ma per chi
non le possedesse e avesse bisogno di un link di riferimento, si possono scaricare anche qui
nella loro release del Giugno 2007. Dopo aver importato nel progetto gli opportuni riferimenti a Microsoft.DirectX e
Microsoft.DirectX.AudioVideoPlayback tramite il menù Add Reference del solution explorer, e scritto le opportune direttive di importazione
in cima al codice, diventano disponibili le due classi Audio e Video. Entrambi i costruttori accettano il percorso del file multimediale da
aprire: supportano anche percorsi url web, ed è quindi possibile riprodurre file in streaming. Una volta inizializzati gli oggetti,
si possono ottenere moltissime proprietà interessanti, ed altrettanti metodi. Eccone una lista:
- CurrentPosition : la posizione corrente nel contesto di riproduzione, espressa in secondi
- Duration : la durata complessiva del file, sempre in secondi
- FromFile / FromUrl : funzioni statiche che inizializzano un nuovo oggetto Audio o Video a partire dal percorso HD o Web specificato
- Open(F) : apre il file F nell'oggetto corrente (F può essere una stringa o un Uri, Unique Resource Identifier). Questa è
una procedura che può essere usata nel caso non si voglia creare un ulteriore oggetto per ogni nuovo file
- Pause : mette in pausa la riproduzione
- Paused : determina se la riproduzione è stata messa in pausa
- Play : riproduce il file multimediale
- Playing : determina se il file è in riproduzione
- SeekCurrentPosition(T, F) : cambia la posizione corrente all'interno del file. T è la posizione desiderata, in secondi, mentre F
è un enumeratore che specifica con quale modalità ci si debba spostare: tra i possibili valori, i più usati sono AbsolutePosition
(indica che T è la posizione effettiva) e RelativePosition (indica di spostarsi di T secondi in avanti)
- State : proprietà enumerata che definisce lo stato corrente di riproduzione. Può assumere tre valori: Running (in riproduzione),
Paused (in pausa), Stopped (interrotta)
- Stop : ferma la riproduzione. Quando viene richiamata, sposta il cursorse all'inizio del file, mentre Pause mantiene la posizione corrente.
Così, se si richiama Stop e successivamente Play, la riproduzione ripartità da capo
- Stopped : determina se la riproduzione è stata interrotta
- StopPosition : indica dove la riproduzione è stata interrotta
- Volume : modifica il volume della riproduzione. I valori che può assumere vanno da -10000 (muto) a 0 (volume normale). Questa
proprietà non influenza il volume di sistema, ma solo quello dell'oggetto su cui viene richiamato
I membri elencati sono esposti sia da Audio che da Video. I seguenti, invece, sono esposti solo da Video:
Prima di concludere, vorrei specificare che le classi sopra esposte sono valide per la riproduzione di questi tipi di file:
- Windows Media Video (*.wmv)
- Moving Pictures Expert Group 1 format (*.mpg)
- Audio Video Interleave (*.avi)
- Microsoft Audio Wave (*.wav)
- Moving Pictures Expert Group 1 Layer 3 (*.mp3)
- Windows Media Audio (*.wma)
A proposito dell'autore
C#, TypeScript, java, php, EcmaScript (JavaScript), Spring, Hibernate, React, SASS/LESS, jade, python, scikit, node.js, redux, postgres, keras, kubernetes, docker, hexo, etc...
|