Przechwytuję wideo przy użyciu MediaPicker
z xamarin.labs
, a następnie przesyłam film na mój serwer sieciowy. Następnie pobieram ten film wideo, aby pokazać go w WebView z tagiem wideo HTML5.Przeglądanie stron internetowych Xamarin.forms i wyświetlanie/odtwarzanie wideo w tagach wideo HTML5 i wydaniu z systemem Android
Działa to dobrze na iOS. jednak ten sam kod nie działa na systemie Android.
Tworzę niestandardowy renderer w Androidzie, aby utworzyć Webchromeclient
, ale nie odtwarza wideo na Androidzie.
HTML5 próbki z wideo jest (ja też spróbować z type
parametru w <video>
tagu:
<Doctype! HTML>
<html>
<body><video src="www.myserver.com/video1.mp4" controls height="150" width="150"/>
</body>
</html/>
i to jest mój internetowej widok części w moim projekcie PCL:
public class MyWebView: WebView
{
}
to jest moje strona:
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);
}
}
}
}
Czy ktoś może mi powiedzieć, co jest nie tak?
Z góry dziękuję.
Dzięki @Alex Lau, mam już "http: //" w moim html i jest poprawny w moim kodzie, to było tylko literówka tutaj. Właściwie już dwukrotnie wysłałem Twojego bloga i postępuję zgodnie z podanymi instrukcjami. ale nadal nie udaje mi się osiągnąć androida. Jednak nie stosuję javascript od teraz. ponieważ nie jest to wymagane, jak sądzę. –
SoftSan