Differenze tra le versioni di "Eseguire una traccia di un CD audio mediante le risorse del Componente gb.media"

Da Gambas-it.org - Wikipedia.
(Creata pagina con "E' possibile eseguire una traccia di un CD audio mediante il Componente ''gb.media'' di Gambas, utilizzando alcune sue risorse. ==Uso della sola Classe ''MediaPlayer''== L'u...")
 
Riga 19: Riga 19:
 
    
 
    
 
   Do
 
   Do
  <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 audio processati:''</font>
 
     Write #File.Out, "\rDurata del brano: " & CStr(Date(0, 0, 0, 0, 0, 0, mp.Duration * 1000)) & "  -  Tempo trascorso: " & CStr(Date(0, 0, 0, 0, 0, 0, mp.Position * 1000))
 
     Write #File.Out, "\rDurata del brano: " & CStr(Date(0, 0, 0, 0, 0, 0, mp.Duration * 1000)) & "  -  Tempo trascorso: " & CStr(Date(0, 0, 0, 0, 0, 0, mp.Position * 1000))
 
     Wait 0.01
 
     Wait 0.01
Riga 52: Riga 52:
 
    
 
    
 
   Do
 
   Do
  <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 audio processati:''</font>
 
     Write #File.Out, "\rDurata del brano: " & CStr(Date(0, 0, 0, 0, 0, 0, pl.Duration * 1000)) & "  -  Tempo trascorso: " & CStr(Date(0, 0, 0, 0, 0, 0, pl.Position * 1000))
 
     Write #File.Out, "\rDurata del brano: " & CStr(Date(0, 0, 0, 0, 0, 0, pl.Duration * 1000)) & "  -  Tempo trascorso: " & CStr(Date(0, 0, 0, 0, 0, 0, pl.Position * 1000))
 
     Wait 0.01
 
     Wait 0.01
Riga 77: Riga 77:
 
    
 
    
 
   Do
 
   Do
  <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 audio processati:''</font>
 
     Write #File.Out, "\rDurata del brano: " & CStr(Date(0, 0, 0, 0, 0, 0, pl.Duration * 1000)) & "  -  Tempo trascorso: " & CStr(Date(0, 0, 0, 0, 0, 0, pl.Position * 1000))
 
     Write #File.Out, "\rDurata del brano: " & CStr(Date(0, 0, 0, 0, 0, 0, pl.Duration * 1000)) & "  -  Tempo trascorso: " & CStr(Date(0, 0, 0, 0, 0, 0, pl.Position * 1000))
 
     Wait 0.01
 
     Wait 0.01

Versione delle 18:34, 17 feb 2017

E' possibile eseguire una traccia di un CD audio mediante il Componente gb.media di Gambas, utilizzando alcune sue risorse.


Uso della sola Classe MediaPlayer

L'utilizzo della sola Classe MediaPipeline del Componente gb.media prevede l'uso del plug-in "playbin"

Mostriamo un semplice esempio, nel quale imposteremo l'esecuzione della traccia num. 10 del CD audio:

Private bo As Boolean


Public Sub Main()
 
 Dim mp As MediaPlayer
 
  With mp = New MediaPlayer
    .URL = "cdda://10"
    .Play
  End With
  
  Do
' Mostra in console la posizione, espressa in secondi, all'interno dei dati audio processati:
    Write #File.Out, "\rDurata del brano: " & CStr(Date(0, 0, 0, 0, 0, 0, mp.Duration * 1000)) & "   -   Tempo trascorso: " & CStr(Date(0, 0, 0, 0, 0, 0, mp.Position * 1000))
    Wait 0.01
  Loop Until (mp.Position >= mp.Duration) Or (bo = True)
 
  mp.Stop
  
  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 l'esecuzione della traccia num. 10 del CD audio:

Public Sub Main()
 
 Dim pl As MediaPipeline
 
  pl = New MediaPipeline(Null, "playbin")
  pl["uri"] = "cdda://10"
  
  pl.Play()
  
  Do
' Mostra in console la posizione, espressa in secondi, all'interno dei dati audio processati:
    Write #File.Out, "\rDurata del brano: " & CStr(Date(0, 0, 0, 0, 0, 0, pl.Duration * 1000)) & "   -   Tempo trascorso: " & CStr(Date(0, 0, 0, 0, 0, 0, pl.Position * 1000))
    Wait 0.01
  Loop Until (pl.Position >= pl.Duration)
     
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 l'esecuzione della traccia num. 10 del CD audio:

Public Sub Main()
 
 Dim pl As MediaPipeline
 Dim src As MediaControl
  
  pl = New MediaPipeline
  
  src = New MediaControl(pl, "playbin")
  src["uri"] = "cdda://10"
  
  pl.Play()
  
  Do
' Mostra in console la posizione, espressa in secondi, all'interno dei dati audio processati:
    Write #File.Out, "\rDurata del brano: " & CStr(Date(0, 0, 0, 0, 0, 0, pl.Duration * 1000)) & "   -   Tempo trascorso: " & CStr(Date(0, 0, 0, 0, 0, 0, pl.Position * 1000))
    Wait 0.01
  Loop Until (pl.Position >= pl.Duration)
  
End