Differenze tra le versioni di "Eseguire un DVD video mediante le risorse del Componente gb.media"
(Creata pagina con "E' possibile eseguire una traccia di un DVD video mediante il Componente ''gb.media'' di Gambas, utilizzando alcune sue risorse. Va precisato che è opportuno specificare il...") |
|||
(5 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 5: | Riga 5: | ||
==Uso della sola Classe ''MediaPlayer''== | ==Uso della sola Classe ''MediaPlayer''== | ||
− | |||
− | |||
Mostriamo un semplice esempio, nel quale imposteremo come file-device del lettore DVD il percorso "''/dev/cdrom''". | Mostriamo un semplice esempio, nel quale imposteremo come file-device del lettore DVD il percorso "''/dev/cdrom''". | ||
Private bo As Boolean | Private bo As Boolean | ||
− | + | Public Sub Main() | |
Dim mp As MediaPlayer | Dim mp As MediaPlayer | ||
+ | |||
+ | With mp = New MediaPlayer | ||
+ | .URL = "<FONT Color=#B22222>dvd:///dev/cdrom</font>" | ||
+ | .Play | ||
+ | End With | ||
− | + | Repeat | |
− | |||
− | |||
− | |||
− | |||
− | |||
<FONT Color=gray>' ''Mostra in console la posizione, espressa in secondi, all'interno dei dati video processati:''</font> | <FONT Color=gray>' ''Mostra in console la posizione, espressa in secondi, all'interno dei dati video processati:''</font> | ||
− | + | Write "\rDurata del video: " & CStr(Time(0, 0, 0, mp.Duration * 1000)) & " - Tempo trascorso: " & CStr(Time(0, 0, 0, mp.Position * 1000)) | |
− | + | Flush | |
− | + | Wait 0.01 | |
− | + | Until (mp.Position >= mp.Duration) Or (bo = True) | |
− | + | ||
+ | mp.Stop | ||
+ | mp.Close | ||
− | + | Quit | |
− | + | End | |
+ | |||
+ | Public Sub Application_Read() ' Premendo il tasto "Invio" della tastiera, si arresta il programma | ||
− | + | bo = True | |
− | |||
− | |||
− | + | End | |
Riga 43: | Riga 43: | ||
L'utilizzo della sola Classe ''MediaPipeline'' del Componente ''gb.media'' prevede l'uso del plug-in "''playbin''". | L'utilizzo della sola Classe ''MediaPipeline'' del Componente ''gb.media'' prevede l'uso del plug-in "''playbin''". | ||
− | Mostriamo un semplice esempio, nel quale imposteremo | + | Mostriamo un semplice esempio, nel quale imposteremo come file-device del lettore DVD il percorso "''/dev/cdrom''". |
− | + | Public Sub Main() | |
− | + | ||
Dim pl As MediaPipeline | Dim pl As MediaPipeline | ||
− | + | pl = New MediaPipeline(Null, "playbin") | |
− | + | pl["uri"] = "<FONT Color=#B22222>dvd:///dev/cdrom</font>" | |
− | + | pl.Play() | |
− | + | Repeat | |
− | <FONT Color=gray>' ''Mostra in console la posizione, espressa in secondi, all'interno dei dati processati:''</font> | + | <FONT Color=gray>' ''Mostra in console la posizione, espressa in secondi, all'interno dei dati video processati:''</font> |
− | + | Write "\rDurata del video: " & CStr(Time(0, 0, 0, pl.Duration * 1000)) & " - Tempo trascorso: " & CStr(Time(0, 0, 0, pl.Position * 1000)) | |
− | + | Flush | |
− | + | Wait 0.01 | |
− | + | Until (pl.Position >= pl.Duration) Or (bo = True) | |
− | + | ||
+ | pl.Stop | ||
+ | pl.Close | ||
+ | |||
+ | End | ||
Riga 65: | Riga 69: | ||
L'esecuzione di una traccia può essere effettuata anche utilizzando le Classi ''MediaPipeline'' e ''MediaControl'' del Componente ''gb.media''. | L'esecuzione di una traccia può essere effettuata anche utilizzando le Classi ''MediaPipeline'' e ''MediaControl'' del Componente ''gb.media''. | ||
− | Mostriamo un semplice esempio, nel quale imposteremo | + | Mostriamo un semplice esempio, nel quale imposteremo come file-device del lettore DVD il percorso "''/dev/cdrom''". |
− | + | Public Sub Main() | |
− | + | ||
Dim pl As MediaPipeline | Dim pl As MediaPipeline | ||
Dim src As MediaControl | Dim src As MediaControl | ||
− | + | pl = New MediaPipeline | |
− | + | src = New MediaControl(pl, "playbin") | |
− | + | src["uri"] = "<FONT Color=#B22222>dvd:///dev/cdrom</font>" | |
+ | |||
+ | pl.Play() | ||
+ | |||
+ | Repeat | ||
+ | <FONT Color=gray>' ''Mostra in console la posizione, espressa in secondi, all'interno dei dati video processati:''</font> | ||
+ | Write "\rDurata del video: " & CStr(Time(0, 0, 0, pl.Duration * 1000)) & " - Tempo trascorso: " & CStr(Time(0, 0, 0, pl.Position * 1000)) | ||
+ | Flush | ||
+ | Wait 0.01 | ||
+ | Until (pl.Position >= pl.Duration) Or (bo = True) | ||
+ | |||
+ | pl.Stop | ||
+ | pl.Close | ||
− | + | End | |
+ | |||
+ | |||
+ | ==Uso delle Classi ''MediaPlayer'' e ''MediaControl'' e del plug-in ''jackaudiosink''== | ||
+ | L'uso delle Classi ''MediaPlayer'' e ''MediaControl'' e del plug-in ''jackaudiosink'' richiede che sia preliminarmente avviato il programma server ''Jack''. | ||
+ | |||
+ | Mostriamo un esempio, nel quale imposteremo come file-device del lettore DVD il percorso "''/dev/cdrom''". | ||
+ | Public Sub Main() | ||
+ | |||
+ | Dim mp As MediaPlayer | ||
+ | Dim usc As MediaControl | ||
+ | |||
+ | With mp = New MediaPlayer | ||
+ | .URL = "<FONT Color=#B22222>dvd:///dev/cdrom</font>" | ||
+ | End With | ||
− | + | usc = New MediaControl(mp, "jackaudiosink") | |
− | <FONT Color=gray>' ''Mostra in console la posizione, espressa in secondi, all'interno dei dati processati:''</font> | + | mp.Audio.Output = usc |
− | + | ||
− | + | mp.Play() | |
− | + | ||
+ | Repeat | ||
+ | <FONT Color=gray>' ''Mostra in console la posizione, espressa in secondi, all'interno dei dati video processati:''</font> | ||
+ | Write "\rDurata del video: " & CStr(Time(0, 0, 0, mp.Duration * 1000)) & " - Tempo trascorso: " & CStr(Time(0, 0, 0, mp.Position * 1000)) | ||
+ | Flush | ||
+ | Wait 0.01 | ||
+ | Until (mp.Position >= mp.Duration) Or (bo = True) | ||
− | + | mp.Stop | |
+ | mp.Close | ||
+ | |||
+ | End |
Versione attuale delle 15:23, 13 set 2024
E' possibile eseguire una traccia di un DVD video mediante il Componente gb.media di Gambas, utilizzando alcune sue risorse.
Va precisato che è opportuno specificare il corretto file-device del lettore DVD da assegnare alla proprietà .URL delle Classi appresso utilizzate del Componente gb.media.
Indice
Uso della sola Classe MediaPlayer
Mostriamo un semplice esempio, nel quale imposteremo come file-device del lettore DVD il percorso "/dev/cdrom".
Private bo As Boolean Public Sub Main() Dim mp As MediaPlayer With mp = New MediaPlayer .URL = "dvd:///dev/cdrom" .Play End With Repeat ' Mostra in console la posizione, espressa in secondi, all'interno dei dati video processati: Write "\rDurata del video: " & CStr(Time(0, 0, 0, mp.Duration * 1000)) & " - Tempo trascorso: " & CStr(Time(0, 0, 0, mp.Position * 1000)) Flush Wait 0.01 Until (mp.Position >= mp.Duration) Or (bo = True) mp.Stop mp.Close Quit End Public Sub Application_Read() ' Premendo il tasto "Invio" della tastiera, si arresta il programma bo = True End
Uso della sola Classe MediaPipeline
L'utilizzo della sola Classe MediaPipeline del Componente gb.media prevede l'uso del plug-in "playbin".
Mostriamo un semplice esempio, nel quale imposteremo come file-device del lettore DVD il percorso "/dev/cdrom".
Public Sub Main() Dim pl As MediaPipeline pl = New MediaPipeline(Null, "playbin") pl["uri"] = "dvd:///dev/cdrom" pl.Play() Repeat ' Mostra in console la posizione, espressa in secondi, all'interno dei dati video processati: Write "\rDurata del video: " & CStr(Time(0, 0, 0, pl.Duration * 1000)) & " - Tempo trascorso: " & CStr(Time(0, 0, 0, pl.Position * 1000)) Flush Wait 0.01 Until (pl.Position >= pl.Duration) Or (bo = True) pl.Stop pl.Close End
Uso della Classe MediaPipeline e della Classe MediaControl
L'esecuzione di una traccia può essere effettuata anche utilizzando le Classi MediaPipeline e MediaControl del Componente gb.media.
Mostriamo un semplice esempio, nel quale imposteremo come file-device del lettore DVD il percorso "/dev/cdrom".
Public Sub Main() Dim pl As MediaPipeline Dim src As MediaControl pl = New MediaPipeline src = New MediaControl(pl, "playbin") src["uri"] = "dvd:///dev/cdrom" pl.Play() Repeat ' Mostra in console la posizione, espressa in secondi, all'interno dei dati video processati: Write "\rDurata del video: " & CStr(Time(0, 0, 0, pl.Duration * 1000)) & " - Tempo trascorso: " & CStr(Time(0, 0, 0, pl.Position * 1000)) Flush Wait 0.01 Until (pl.Position >= pl.Duration) Or (bo = True) pl.Stop pl.Close End
Uso delle Classi MediaPlayer e MediaControl e del plug-in jackaudiosink
L'uso delle Classi MediaPlayer e MediaControl e del plug-in jackaudiosink richiede che sia preliminarmente avviato il programma server Jack.
Mostriamo un esempio, nel quale imposteremo come file-device del lettore DVD il percorso "/dev/cdrom".
Public Sub Main() Dim mp As MediaPlayer Dim usc As MediaControl With mp = New MediaPlayer .URL = "dvd:///dev/cdrom" End With usc = New MediaControl(mp, "jackaudiosink") mp.Audio.Output = usc mp.Play() Repeat ' Mostra in console la posizione, espressa in secondi, all'interno dei dati video processati: Write "\rDurata del video: " & CStr(Time(0, 0, 0, mp.Duration * 1000)) & " - Tempo trascorso: " & CStr(Time(0, 0, 0, mp.Position * 1000)) Flush Wait 0.01 Until (mp.Position >= mp.Duration) Or (bo = True) mp.Stop mp.Close End