Eseguire un file MIDI mediante il codice html

Da Gambas-it.org - Wikipedia.
Vai alla navigazione Vai alla ricerca

Un file MIDI potrà essere eseguito con il protocollo HTML all'interno dell'Oggetto WebView.

Esecuzione di un file Midi da un dispositivo di archiviazione mediante il codice HTML 5 e l'oggetto WebView

Per eseguire un file Midi presente in un dispositivo di archiviazione, si utilizzerà la risorsa grafica QT attivando una coppia dei seguenti Componenti:

  • gb.gui.qt e gb.gui.qt.webview;
  • gb.qt5 e gb.qt5.webview;
  • gb.qt6 e gb.qt6.webview.

oppure usando la risorsa grafica GTK attivando i Componenti gb.gtk3 e gb.gtk3.webview .

La riga di comando scritta in html sarà assegnata direttamente al Metodo ".SetHtml()" della Classe WebView.
Poiché l'attributo "src" del protocollo HTML contiene un URL-indirizzo assoluto o relativo del media file, il percorso del file Midi sarà anticipato da "file://".

Mostriamo un esempio:

Private wv As WebView


Public Sub Button1_Click()

 If Object.IsValid(wv) Then wv.Delete

 With wv = New WebView(Me)
   .X = 50
   .Y = 100
   .W = 340
   .H = 170
' L'attributo "src" contiene un URL-indirizzo assoluto o relativo del file Midi e non deve avere spazi.
' Se non si desidera l'esecuzione automatica del file Midi, bisognerà togliere l'attributo "autoplay " e una volta mostrato nell'Oggetto "WebView" il dispositivo di riproduzione audio, vi si dovrà cliccare sopra con il tasto destro del mouse e nel menu  - che appare - scegliere "play".
   .SetHtml("<AUDIO autoplay controls>" &
           "<Source src=file:///percorso/del/file/midi type=audio/midi>" &
           "</audio>")
 End With

End


Esecuzione di un file Midi da una pagina WEB mediante il codice HTML 5 e l'oggetto WebView

Per ascoltare via internet un file Midi presente in una pagina WEB, si potrà usare la libreria grafica QT oppure quella GTK.

Usando il Componente grafico basato sulla risorsa QT

Se si intende utilizzare la risorsa grafica QT, si potrà attivare una delle seguenti coppie di Componenti grafici:

  • gb.gui.qt e gb.gui.qt.webview;
  • gb.qt5 e gb.qt5.webview;
  • gb.qt6 e gb.qt6.webview.

Mostriamo un esempio:

Public Sub Button1_Click()

 Dim wv As WebView

 With wv = New WebView(Me)
   .X = 50
   .Y = 100
   .W = 340
   .H = 170
' L'attributo "src" contiene l'indirizzo web del file MIDI:
   .SetHtml("<AUDIO autoplay controls>" &
           "<Source src=https://cdn.jsdelivr.net/gh/cifkao/html-midi-player@2b12128/jazz.mid type=audio/midi>" &
           "</audio>")
 End With

End

oppure il TAG html "IFRAME":

Public Sub Button1_Click()
 
 Dim wv As WebView

 With wv = New WebView(Me)
   .X = 50
   .Y = 100
   .W = 340
   .H = 170
   .SetHtml("<IFRAME src=http://www.musicimpressions.de/demos_midi/d_CR5027.mid type=audio/midi width=480 height=320></iframe>")
 End With

End

oppure il TAG html "A Href":

Public Sub Button1_Click()

 Dim wv As WebView

 With wv = New WebView(Me)
   .X = 50
   .Y = 100
   .W = 340
   .H = 170
   .SetHtml("<A Href=http://indirizzo/del/collegamento/web/del/file/midi>Cliccare qui</a>")
 End With

End

Usando il Componente grafico "gb.gtk3"

Se si sta usando il Componente grafico "gb.gtk3", si dovrà ovviamente attivare anche il Componente "gb.gtk3.webview".

In tal caso si potrà adoperare il TAG html "AUDIO Controls":

Public Sub Button1_Click()

 Dim wv As WebView

 With wv = New WebView(Me)
   .X = 50
   .Y = 100
   .W = 340
   .H = 170
   .SetHtml("<AUDIO Controls src=http://cdn.jsdelivr.net/gh/cifkao/html-midi-player@2b12128/jazz.mid type=audio/midi width=480 height=320>" &
            "</audio>")
 End With

End

oppure il TAG html "IFRAME":

Public Sub Button1_Click()
 
 Dim wv As WebView

 With wv = New WebView(Me)
   .X = 50
   .Y = 100
   .W = 340
   .H = 170
   .SetHtml("<IFRAME src=http://www.musicimpressions.de/demos_midi/d_CR5027.mid type=audio/midi width=480 height=320></iframe>")
 End With

End

oppure il TAG html "A Href":

Public Sub Button1_Click()

 Dim wv As WebView

 With wv = New WebView(Me)
   .X = 50
   .Y = 100
   .W = 340
   .H = 170
   .SetHtml("<A Href=http://indirizzo/del/collegamento/web/del/file/midi>Cliccare qui</a>")
 End With

End