Differenze tra le versioni di "Eseguire in streaming un video da youtube mediante l'oggetto WebView"

Da Gambas-it.org - Wikipedia.
 
(14 versioni intermedie di uno stesso utente non sono mostrate)
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''==
 +
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:
  
===Uso della proprietà  ''.HTML'' uno specifico codice in ''html'' con il Tag ''<Iframe>''===
+
* attivare i Componenti ''gb.gtk3'' e ''gb.gtk3.webview'' (le risorse grafiche QT non sembrano più funzionare al riguardo);
Questa modalità prevede che sia passata alla proprietà  ''.HTML'' dell'oggetto ''WebView'' uno specifico codice in ''html'' contenente il Tag ''<Iframe>'', avendo nel contempo cura di:
 
* attivare il componente ''gb.qt4.webkit'';
 
 
* attivare da codice i plugin necessari per il video;
 
* attivare da codice i plugin necessari per il video;
 
* 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 " ''embed'' ".
+
<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":
 
 
Esempio:
 
 
  <FONT Color=blue>https&#58;//www.youtube.com</font>/<FONT Color=#B22222>embed</font>/<FONT Color=darkgreen>NgUGjCVkXXY</font>
 
  <FONT Color=blue>https&#58;//www.youtube.com</font>/<FONT Color=#B22222>embed</font>/<FONT Color=darkgreen>NgUGjCVkXXY</font>
  
 +
===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 "<<nowiki>Iframe</nowiki>>".
  
 
Vediamo di seguito un codice essenziale e funzionante:
 
Vediamo di seguito un codice essenziale e funzionante:
  '''Public''' Sub Form_Open()
+
  Public Sub Form_Open()
 
    
 
    
 
   Dim wv As WebView
 
   Dim wv As WebView
 
        
 
        
   WebSettings[WebSettings.PluginsEnabled] = True
+
  With Me
 
+
    .W = Screen.AvailableWidth
 +
    .H = Screen.AvailableHeight
 +
    .Arrangement = Arrange.Fill
 +
  End With
 +
 +
   WebSettings[WebSettings.Plugins] = True
 +
 
   With wv = New WebView(Me)
 
   With wv = New WebView(Me)
     .X = 20
+
     .SetHtml("<IFRAME width=640 height=480 src=http&#58;//www.youtube.com/embed/NgUGjCVkXXY frameborder=0 allowfullscreen></iframe>")
    .Y = 100
+
  End With
    .W = 660
 
    .H = 500
 
    .HTML = "<iframe width=640 height=480 src=http&#058;//www.youtube.com/embed/NgUGjCVkXXY frameborder=0 allowfullscreen></iframe>"
 
  End With
 
 
   
 
   
  '''End'''
+
  End
  
 +
===Uso del tag <<nowiki>Embed</nowiki>>===
 +
Possiamo, similmente al caso precedente, utilizzare il tag <<nowiki>Embed</nowiki>>.
  
===Uso della proprietà ''.Url''===
+
Vediamo di seguito un codice essenziale e funzionante:
Questa modalità è più semplice nella sua codifica rispetto alla modalità precedente. Essa si basa sull'uso della proprietà ''.Url'' dell'oggetto ''WebView''.
+
  Public Sub Form_Open()
 
 
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
 
   Dim wv As WebView
    
+
     
  WebSettings[WebSettings.PluginsEnabled] = True
+
   With Me
    
+
    .W = Screen.AvailableWidth
  With wv = New WebView(Me)
+
    .H = Screen.AvailableHeight
    .X = 50
+
    .Arrangement = Arrange.Fill
    .Y = -150
+
  End With
    .Url = "https&#58;//www.youtube.com/watch?v=NgUGjCVkXXY"
+
  End With
+
  WebSettings[WebSettings.Plugins] = True
 +
 +
   With wv = New WebView(Me)
 +
    .SetHtml("<EMBED src=http&#058;//www.youtube.com/embed/NgUGjCVkXXY width=640 height=480></embed>")
 +
  End With
 
    
 
    
  '''End'''
+
  End
  
  
===Lettura del codice html della pagina del video===
+
==Uso della Proprietà ''.Url''==
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.
+
Questa modalità è più semplice nella sua codifica rispetto alla modalità precedente. Essa si basa sull'uso della proprietà ''.Url'' dell'oggetto ''WebView''.
  
Mostriamo un semplice esempio, nel quale sul ''Form'' dovranno essere posti due ''Button'' ed una ''ProgressBar'':
+
E' necessario creare l'oggetto "WebView" da codice, avendo cura di:
'''Public''' Sub Button1_Click()
+
* attivare i Componenti ''gb.qt5'' e ''gb.qt5.webview'' oppure i Componenti''gb.gtk3'' e ''gb.gtk3.webview'';
 +
* 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;
 +
<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&#58;//www.youtube.com</font>/<FONT Color=#B22222>embed</font>/<FONT Color=darkgreen>NgUGjCVkXXY</font>
 +
 
 +
Mostriamo un semplice esempio:
 +
Public Sub Form_Open()
 
    
 
    
 
   Dim wv As WebView
 
   Dim wv As WebView
 
 
  With wv = New WebView(Me)
 
    .Url = "https&#58;//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'''
+
  With Me
 +
    .W = Screen.AvailableWidth
 +
    .H = Screen.AvailableHeight
 +
    .Arrangement = Arrange.Fill
 +
  End With
 
   
 
   
 +
  WebSettings[WebSettings.Plugins] = True
 
   
 
   
'''Public''' Procedure Avvia_Video(vid As WebView)
+
   With wv = New WebView(Me)
 
+
    .Url = "https&#58;//www.youtube.com/embed/NgUGjCVkXXY"
  Dim stringa, s As String
+
  End With
   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")
+
  End
  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'''
 

Versione attuale delle 19:28, 20 gen 2024

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

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 i Componenti gb.gtk3 e gb.gtk3.webview (le risorse grafiche QT non sembrano più funzionare al riguardo);
  • 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

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
     
 With Me
   .W = Screen.AvailableWidth
   .H = Screen.AvailableHeight
   .Arrangement = Arrange.Fill
 End With

 WebSettings[WebSettings.Plugins] = True

 With wv = New WebView(Me)
   .SetHtml("<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
     
 With Me
   .W = Screen.AvailableWidth
   .H = Screen.AvailableHeight
   .Arrangement = Arrange.Fill
 End With

 WebSettings[WebSettings.Plugins] = True

 With wv = New WebView(Me)
   .SetHtml("<EMBED src=http://www.youtube.com/embed/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:

  • attivare i Componenti gb.qt5 e gb.qt5.webview oppure i Componentigb.gtk3 e gb.gtk3.webview;
  • 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

Mostriamo un semplice esempio:

Public Sub Form_Open()
 
 Dim wv As WebView
 
 With Me
   .W = Screen.AvailableWidth
   .H = Screen.AvailableHeight
   .Arrangement = Arrange.Fill
 End With

 WebSettings[WebSettings.Plugins] = True

 With wv = New WebView(Me)
   .Url = "https://www.youtube.com/embed/NgUGjCVkXXY"
 End With
  
End