Eseguire un file MIDI mediante il codice html

Da Gambas-it.org - Wikipedia.

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 i Componenti gb.qt5 e gb.qt5.webkit o i Componenti gb.qt6 e gb.qt6.webkit, oppure usando la risorsa grafica GTK attivando i Componenti gb.gtk3 e gb.gtk3.webview .
In questo caso 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, bisognerà tenere conto se si sta usando la libreria grafica QT5 oppure GTK3.

Usando il Componente grafico "gb.gui.qt" o quello "gb.qt5"

Se si sta usando il Componente grafico "gb.gui.qt", si dovrà attivare anche il Componente "gb.gui.qt.webkit".
Se si sta usando il Componente grafico "gb.qt5", si dovrà attivare anche il Componente "gb.qt5.webkit" oppure il Componente "gb.qt5.webview".

Usando il Componente "gb.gui.qt.webkit" o quello "gb.qt5.webkit"

Scegliendo di utilizzare il Componente "gb.gui.qt.webkit" o quello "gb.qt5.webkit", la riga comprendente il protocollo html, impostato con il TAG <AUDIO>, dovrà essere direttamente assegnata alla Proprietà ".HTML" dell'Oggetto WebView.

Mostriamo un esempio pratico, riprendendo il codice del precedente paragrafo.
Proviamo la Proprietà ".HTML" con il seguente file Midi presente in una pagina web:

......
.HTML = "<AUDIO autoplay controls>" &
          "<Source src=https://cdn.jsdelivr.net/gh/cifkao/html-midi-player@2b12128/jazz.mid type=audio/midi></audio>"
......

Usando il Componente "gb.qt5.webview"

Se invece si intende utilizzare il Componente "gb.qt5.webview", la riga di comando scritta in html sarà passata al Metodo ".SetHtml()" dell'oggetto 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 un URL-indirizzo assoluto o relativo del media file:
   .SetHtml("<AUDIO autoplay controls>" &
           "<Source src=http://indirizzo/web/del/collegamento/web/del/file/midi 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://indirizzo/del/collegamento/web/del/file/midi 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", e si utilizzerà il Metodo ".SetHtml()".

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://indirizzo/del/collegamento/web/del/file/midi 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