Differenze tra le versioni di "Eseguire in streaming un video da youtube mediante l'oggetto WebView"
Riga 1: | Riga 1: | ||
Per eseguire in streaming un video direttamente da ''youtube'' con l'oggetto ''WebView'' - senza che sia mostrata l'intera pagina del sito, ma solo il riquadro del video - sono possibili almeno tre modalità. | Per eseguire in streaming un video direttamente da ''youtube'' con l'oggetto ''WebView'' - senza che sia mostrata l'intera pagina del sito, ma solo il riquadro del video - sono possibili almeno tre modalità. | ||
− | |||
==Uso della proprietà ''.HTML'' con uno specifico codice in ''html''== | ==Uso della proprietà ''.HTML'' con uno specifico codice in ''html''== | ||
Riga 9: | Riga 8: | ||
* far sì che l'indirizzo del video da eseguire sia così formato da tre parti: | * far sì che l'indirizzo del video da eseguire sia così formato da tre parti: | ||
- la parte finale sia rappresentata soltanto dal codice identificativo del video; | - la parte finale sia rappresentata soltanto dal codice identificativo del video; | ||
− | <BR>- tra la parte inziale del dominio e il codice identificativo del video vi <SPAN Style="text-decoration:underline">deve</span> essere inserita la parola " | + | <BR>- tra la parte inziale del dominio e il codice identificativo del video vi <SPAN Style="text-decoration:underline">deve</span> essere inserita la parola "embed": |
− | |||
− | |||
<FONT Color=blue>https://www.youtube.com</font>/<FONT Color=#B22222>embed</font>/<FONT Color=darkgreen>NgUGjCVkXXY</font> | <FONT Color=blue>https://www.youtube.com</font>/<FONT Color=#B22222>embed</font>/<FONT Color=darkgreen>NgUGjCVkXXY</font> | ||
− | oppure: | + | oppure la lettera "v": |
<FONT Color=blue>https://www.youtube.com</font>/<FONT Color=#B22222>v</font>/<FONT Color=darkgreen>NgUGjCVkXXY</font> | <FONT Color=blue>https://www.youtube.com</font>/<FONT Color=#B22222>v</font>/<FONT Color=darkgreen>NgUGjCVkXXY</font> | ||
− | ===Uso | + | ===Uso del tag <<nowiki>Iframe</nowiki>>=== |
− | Questa modalità prevede che sia passata alla proprietà ''.HTML'' dell'oggetto ''WebView'' uno specifico codice in ''html'' contenente il Tag | + | Questa modalità prevede che sia passata alla proprietà ''.HTML'' dell'oggetto ''WebView'' uno specifico codice in ''html'' contenente il Tag "<<nowiki>Iframe</nowiki>>". |
Vediamo di seguito un codice essenziale e funzionante: | Vediamo di seguito un codice essenziale e funzionante: | ||
Riga 25: | Riga 22: | ||
Dim wv As WebView | Dim wv As WebView | ||
− | + | WebSettings[WebSettings.PluginsEnabled] = True | |
− | + | With wv = New WebView(Me) | |
− | + | .X = 20 | |
− | + | .Y = 100 | |
− | + | .W = 660 | |
− | + | .H = 500 | |
− | + | .HTML = "<<nowiki>IFRAME</nowiki> width=640 height=480 src=http://www.youtube.com/embed/NgUGjCVkXXY frameborder=0 allowfullscreen></iframe>" | |
End With | End With | ||
Riga 38: | Riga 35: | ||
− | ===Uso | + | ===Uso del tag <<nowiki>Embed</nowiki>>=== |
− | Possiamo, similmente al caso precedente, utilizzare | + | Possiamo, similmente al caso precedente, utilizzare il tag <<nowiki>Embed</nowiki>>. |
Vediamo di seguito un codice essenziale e funzionante: | Vediamo di seguito un codice essenziale e funzionante: | ||
Riga 46: | Riga 43: | ||
Dim wv As WebView | Dim wv As WebView | ||
− | + | WebSettings[WebSettings.PluginsEnabled] = True | |
− | + | With wv = New WebView(Me) | |
− | + | .X = 20 | |
− | + | .Y = 100 | |
− | + | .W = 660 | |
− | + | .H = 500 | |
− | + | .HTML = "<<nowiki>EMBED</nowiki> src=http://www.youtube.com/embed/NgUGjCVkXXY width=640 height=480></embed>" | |
− | + | <FONT Color=gray>' '''"<<nowiki>EMBED</nowiki> src=http://www.youtube.com/v/NgUGjCVkXXY width=640 height=480></embed>"'''</font> | |
− | + | End With | |
'''End''' | '''End''' | ||
Riga 74: | Riga 71: | ||
Dim wv As WebView | Dim wv As WebView | ||
− | + | WebSettings[WebSettings.PluginsEnabled] = True | |
− | + | With wv = New WebView(Me) | |
− | + | .X = 50 | |
− | + | .Y = -150 | |
− | + | .Url = "https://www.youtube.com/watch?v=NgUGjCVkXXY" | |
− | + | End With | |
'''End''' | '''End''' | ||
Riga 93: | Riga 90: | ||
Dim wv As WebView | Dim wv As WebView | ||
− | + | With wv = New WebView(Me) | |
− | + | .Url = "https://www.youtube.com/watch?v=NgUGjCVkXXY" | |
− | + | While .Progress < 1.0 | |
− | + | Wait 0.01 | |
− | + | ProgressBar1.Value = .Progress | |
− | + | Wend | |
− | + | End With | |
− | + | Wait 0.5 | |
− | + | ProgressBar1.Visible = False | |
− | + | Avvia_Video(wv) | |
'''End''' | '''End''' | ||
− | + | '''Private''' Procedure Avvia_Video(vid As WebView) | |
− | ''' | + | |
− | |||
Dim stringa, s As String | Dim stringa, s As String | ||
Dim i1, i2 As Integer | Dim i1, i2 As Integer | ||
+ | |||
+ | stringa = vid.HTML | ||
+ | s = Left(stringa, InStr(stringa, "<head>") - 1) | ||
+ | |||
+ | i1 = InStr(stringa, "<div id=\"player-api\"") | ||
+ | i2 = InStr(stringa, "</div>", i1) | ||
+ | s &= "\n" & Mid(stringa, i1 - 1, (i2 - i1) + 7) | ||
+ | |||
+ | i1 = InStr(stringa, "<<nowiki>script</nowiki>>var ytplayer") | ||
+ | i2 = InStr(stringa, "</script>", i1) | ||
+ | s &= "\n" & Mid(stringa, i1 - 1, (i2 - i1) + 10) & "</html>" | ||
− | + | WebSettings[WebSettings.PluginsEnabled] = True | |
− | + | ||
− | + | With vid | |
− | + | .X = 100 | |
− | + | .Y = 100 | |
− | + | .W = 330 | |
− | + | .H = 175 | |
− | + | .HTML = s | |
− | + | End With | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
'''End''' | '''End''' |
Versione delle 01:43, 15 giu 2021
Per eseguire in streaming un video direttamente da youtube con l'oggetto WebView - senza che sia mostrata l'intera pagina del sito, ma solo il riquadro del video - sono possibili almeno tre modalità.
Indice
Uso della proprietà .HTML con uno specifico codice in html
Si fa uso della prorietà .HTML dell'oggetto WebView assegnandole uno specifico codice in html con due possibili elementi per eseguire in streaming i video da youtube, avendo nel contempo cura di:
- attivare il componente gb.qt4.webkit o gb.qt5.webkit;
- attivare da codice i plugin necessari per il video;
- far sì che l'indirizzo del video da eseguire sia così formato da tre parti:
- la parte finale sia rappresentata soltanto dal codice identificativo del video;
- tra la parte inziale del dominio e il codice identificativo del video vi deve essere inserita la parola "embed":
https://www.youtube.com/embed/NgUGjCVkXXY
oppure la lettera "v":
https://www.youtube.com/v/NgUGjCVkXXY
Uso del tag <Iframe>
Questa modalità prevede che sia passata alla proprietà .HTML dell'oggetto WebView uno specifico codice in html contenente il Tag "<Iframe>".
Vediamo di seguito un codice essenziale e funzionante:
Public Sub Form_Open() Dim wv As WebView WebSettings[WebSettings.PluginsEnabled] = True With wv = New WebView(Me) .X = 20 .Y = 100 .W = 660 .H = 500 .HTML = "<IFRAME width=640 height=480 src=http://www.youtube.com/embed/NgUGjCVkXXY frameborder=0 allowfullscreen></iframe>" End With End
Uso del tag <Embed>
Possiamo, similmente al caso precedente, utilizzare il tag <Embed>.
Vediamo di seguito un codice essenziale e funzionante:
Public Sub Form_Open() Dim wv As WebView WebSettings[WebSettings.PluginsEnabled] = True With wv = New WebView(Me) .X = 20 .Y = 100 .W = 660 .H = 500 .HTML = "<EMBED src=http://www.youtube.com/embed/NgUGjCVkXXY width=640 height=480></embed>" ' "<EMBED src=http://www.youtube.com/v/NgUGjCVkXXY width=640 height=480></embed>" End With End
Uso della proprietà .Url
Questa modalità è più semplice nella sua codifica rispetto alla modalità precedente. Essa si basa sull'uso della proprietà .Url dell'oggetto WebView.
E' necessario creare l'oggetto WebView da codice, avendo cura di:
- non impostare (quindi lasciare a zero) le sue proprietà .W e .H;
- ipostare in modo adeguato al Form le proprietà .X e .Y .
Mostriamo un semplice esempio:
Public Sub Form_Open() Dim wv As WebView WebSettings[WebSettings.PluginsEnabled] = True With wv = New WebView(Me) .X = 50 .Y = -150 .Url = "https://www.youtube.com/watch?v=NgUGjCVkXXY" End With End
Lettura del codice html della pagina del video
Questa modalità prevede la lettura del codice html della pagina contenente il video, e la successiva scelta delle parti di codice essenziali per l'esecuzione del video.
Mostriamo un semplice esempio, nel quale sul Form dovranno essere posti due Button ed una ProgressBar:
Public Sub Button1_Click() Dim wv As WebView With wv = New WebView(Me) .Url = "https://www.youtube.com/watch?v=NgUGjCVkXXY" While .Progress < 1.0 Wait 0.01 ProgressBar1.Value = .Progress Wend End With Wait 0.5 ProgressBar1.Visible = False Avvia_Video(wv) End Private Procedure Avvia_Video(vid As WebView) Dim stringa, s As String Dim i1, i2 As Integer stringa = vid.HTML s = Left(stringa, InStr(stringa, "<head>") - 1) i1 = InStr(stringa, "<div id=\"player-api\"") i2 = InStr(stringa, "</div>", i1) s &= "\n" & Mid(stringa, i1 - 1, (i2 - i1) + 7) i1 = InStr(stringa, "<script>var ytplayer") i2 = InStr(stringa, "</script>", i1) s &= "\n" & Mid(stringa, i1 - 1, (i2 - i1) + 10) & "</html>" WebSettings[WebSettings.PluginsEnabled] = True With vid .X = 100 .Y = 100 .W = 330 .H = 175 .HTML = s End With End Public Sub Button2_Click() Me.Close End