Ich nehme Video mit MediaPicker
von xamarin.labs
und dann dieses Video auf meinem Webserver hochladen. Danach erhalte ich das Video, um es in WebView mit HTML5-Video-Tags anzuzeigen.Xamarin.forms Webview und Ansicht/Wiedergabe von Video in HTML5-Video-Tag und Android-Ausgabe
Dies funktioniert gut für iOS. Derselbe Code funktioniert jedoch nicht unter Android.
Ich erstelle benutzerdefinierte Renderer in Android zu erstellen Webchromeclient
, aber es spielt nicht Video auf Android.
die Probe html5 mit Video ist (ich auch mit type
Parametern in <video>
Tag versuchen:
<Doctype! HTML>
<html>
<body><video src="www.myserver.com/video1.mp4" controls height="150" width="150"/>
</body>
</html/>
und das ist mein Webansicht Teilprojekt in meinem PCL:
public class MyWebView: WebView
{
}
das ist mein Seite:
public class VideoPage: ContentPage
{
public VidoePage()
{
var webView = new MyWebView();
webView.Source = new HtmlSource {Html = abovementionedHtml};
var layout = new StackLayout()
{
Childern = {webWiew}
};
this.Content= layout;
}
Android Renderer:
[assembly: ExportRenderer(typeof(MyWebView), typeof(MyWebViewRenderer))]
namespace VideoSample.Droid
{
using Xamarin.Forms.Platform.Android;
public class MyWebViewRenderer : WebRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs e)
{
base.OnElementChanged(e);
if (this.Control == null)
{
var webView = new global::Android.Webkit.WebView(this.Context);
webView.SetWebChromeClient(new WebChromeClient());
webView.Settings.JavaScriptEnabled = true;
webView.Settings.SetPluginState(WebSettings.PluginState.On);
this.SetNativeControl(webView);
}
}
}
}
Also kann mir jemand sagen, was los ist?
Vielen Dank im Voraus.
Dank @Alex Lau, ich habe bereits "http: //" in meinem HTML und ist korrekt in meinem Code, es war nur Tippfehler hier. Eigentlich habe ich schon zweimal auf Ihr Blog verwiesen und befolge die genannten Anweisungen. aber ich bin immer noch nicht erfolgreich in android. Ich verwende Javascript jedoch nicht sofort. wie es nicht erforderlich ist, denke ich. –
SoftSan