In alternativa alle risorse offerte dal Componente
gb.media.form, potresti utilizzare le capacità dell'Oggetto
WebView di eseguire un file audio/video, soprapponendovi quindi una
DrawingArea per disegnare qualcosa.
L'Oggetto
WebView fornisce automaticamente, fra l'altro, una risorsa per arrestare, porre in pausa e riprendere l'esecuzione del video.
Vediamo un esempio pratico:
Private WebView1 As WebView
Private da As DrawingArea
Private OldX As Single
Private OldY As Single
Private StartX As Single
Private StartY As Single
Private punti As New Integer[]
Public Sub Form_Open()
' Crea una "WebView" come oggetto GUI da usare per l'uscita video:
With WebView1 = New WebView(Me)
.X = 10
.Y = 10
.W = 480
.H = 480
End With
' Crea una DrawingArea sulla quale disegnare delle linee rosse:
With da = New DrawingArea(Me) As "da"
.X = WebView1.X
.Y = WebView1.Y
.W = WebView1.W
.H = WebView1.H - 80
.Background = Color.Transparent
End With
End
Public Sub Button1_Click()
' Carica ed esegue il file video:
WebView1.Url = "/percorso/del/file/video"
End
Public Sub da_Draw()
Dim i As Integer
With Draw
.Foreground = Color.Red
.Line(StartX, StartY, OldX, OldY)
For i = 0 To punti.Max Step 4
.Line(punti[i], punti[i + 1], punti[i + 2], punti[i + 3])
Next
.End
End With
End
Public Sub da_MouseDown()
StartX = Mouse.X
StartY = Mouse.Y
OldX = StartX
OldY = StartY
End
Public Sub da_MouseMove()
OldX = Mouse.X
OldY = Mouse.Y
da.Refresh()
End
Public Sub da_MouseUp()
punti.Push(StartX)
punti.Push(StartY)
punti.Push(OldX)
punti.Push(OldY)
End