Differenze tra le versioni di "Eseguire un file audio o Midi quando si clicca sulla MapView"

Da Gambas-it.org - Wikipedia.
Riga 32: Riga 32:
 
  '''Public''' Sub MapView1_MouseUp()
 
  '''Public''' Sub MapView1_MouseUp()
 
   
 
   
  <FONT Color=gray>' ''Se si clicca con il tasto destro del mouse sulla mappa, si avvia l'esecuzione dell'audio:''</font>
+
  <FONT Color=gray>' ''Se si clicca con il tasto destro del mouse sulla mappa, si avvia l'esecuzione o l'arresto dell'audio:''</font>
 
   If Not Mouse.Right Then Return
 
   If Not Mouse.Right Then Return
 
   
 
   
Riga 40: Riga 40:
 
  <FONT Color=gray>' ''Determina la pulitura della "MapView" e pertanto la cessazione dell'esecuzione del file audio o Midi:''</font>
 
  <FONT Color=gray>' ''Determina la pulitura della "MapView" e pertanto la cessazione dell'esecuzione del file audio o Midi:''</font>
 
     MapView1.Refresh
 
     MapView1.Refresh
   Endif
+
   Else
+
    Dim pt As New Point(Mouse.X, Mouse.Y)  
  Dim pt As New Point(Mouse.X, Mouse.Y)
+
    mpt = MapView1.Map.PixelToMapPointRel(pt)  
 
  mpt = MapView1.Map.PixelToMapPointRel(pt)
 
 
 
  <FONT Color=gray>' ''Imposta il Controllo "MediaPlayer", e la posizione sulla "MapView" ove si eseguirà l'audio:''</font>
 
  <FONT Color=gray>' ''Imposta il Controllo "MediaPlayer", e la posizione sulla "MapView" ove si eseguirà l'audio:''</font>
  mp.SetWindow(MapView1, MapView1.Map.MapPointToPixelRel(mpt).X, MapView1.Map.MapPointToPixelRel(mpt).Y)
+
    mp.SetWindow(MapView1, MapView1.Map.MapPointToPixelRel(mpt).X, MapView1.Map.MapPointToPixelRel(mpt).Y)
 
 
  <FONT Color=gray>' ''Esegue il file audio o Midi:''</font>
 
  <FONT Color=gray>' ''Esegue il file audio o Midi:''</font>
  mp.Play()
+
    mp.Play()
+
  Endif
'''End'''
 
 
'''Public''' Sub MapView1_MouseUp()
 
 
 
 
 
   
 
   
 
  '''End'''
 
  '''End'''

Versione delle 16:17, 22 mag 2023

Cliccando sulla MapView è possibile eseguire un file audio o un file Midi.

Mostriamo un esempio pratico, nel quale l'esecuzione sonora perdurerà per il solo tempo in cui si cliccherà sulla MapView, mantenendo premuto il tasto del mouse premuto: al suo rilascio l'esecuzione cesserà.

Private MapView1 As MapView
Private mpt As New MapPoint(41.89018, 12.49230)
Private mp As MediaPlayer


Public Sub Form_Open()

 With Me
   .W = Screen.AvailableWidth
   .H = Screen.AvailableHeight
   .Arrangement = Arrange.Fill
 End With

 With MapView1 = New MapView(Me) As "MapView1"
   .Map.AddTile("GoogleMap", "https://mt0.google.com/vt/lyrs=s&hl=&x={x}&y={y}&z={z}")
   .Map.Zoom = 15
   .Map.Center = mpt
 End With

' Crea un Oggetto "MediaPlayer" per eseguire l'audio:
 With mp = New MediaPlayer
  .URL = Media.URL("/percorso/del/file/audio o Midi")
' Imposta il Controllo ove cliccare per far eseguire l'audio:
  .SetWindow(MapView1)
 End With
 
End

Public Sub MapView1_MouseUp()

' Se si clicca con il tasto destro del mouse sulla mappa, si avvia l'esecuzione o l'arresto dell'audio:
 If Not Mouse.Right Then Return

 If mp.State == Media.Playing Then
   mp.Stop
   mp.Close
' Determina la pulitura della "MapView" e pertanto la cessazione dell'esecuzione del file audio o Midi:
   MapView1.Refresh
 Else
   Dim pt As New Point(Mouse.X, Mouse.Y) 
   mpt = MapView1.Map.PixelToMapPointRel(pt) 
' Imposta il Controllo "MediaPlayer", e la posizione sulla "MapView" ove si eseguirà l'audio:
   mp.SetWindow(MapView1, MapView1.Map.MapPointToPixelRel(mpt).X, MapView1.Map.MapPointToPixelRel(mpt).Y)
' Esegue il file audio o Midi:
   mp.Play()
 Endif

End