Sub Class_Globals
Private Root As B4XView
Private xui As XUI
Private Button1 As Button
Private WebView1 As WebView
Private B4XImageView1 As B4XImageView
Private WebViewExtras1 As WebViewExtras
Private JavascriptInterface1 As DefaultJavascriptInterface
End Sub
Public Sub Initialize
' B4XPages.GetManager.LogEvents = True
End Sub
Private Sub B4XPage_Created (Root1 As B4XView)
Root = Root1
Root.LoadLayout("web")
WebViewExtras1.Initialize(WebView1)
JavascriptInterface1.Initialize
WebViewExtras1.addJavascriptInterface(JavascriptInterface1, "B4A")
WebView1.LoadUrl("https://www.w3schools.com/html/mov_bbb.mp4")
End Sub
Private Sub Button1_Click
Dim js As String = $"script:(function() {
const video = document.querySelector('video');
const canvas = document.createElement('canvas');
canvas.width = video.videoWidth;
canvas.height = video.videoHeight;
canvas.getContext('2d').drawImage(video, 0, 0);
const data = canvas.toDataURL('image/jpeg',100);
B4A.CallSub('B4ACaptured', true, data);
})();"$
WebViewExtras1.executeJavascript(js)
End Sub
Public Sub B4ACaptured (data As String )
Log("got: " & data)
B4XImageView1.Bitmap = Base64EncodeDecodeImage.Base64StringToImage(data.SubString(23))
End Sub