2015-02-25 9 views
5

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.

Antwort

1

Versuchen Sie, die Beispiel-HTML wie unten mit einigen Korrekturen zu ersetzen. Nicht sicher, ob dies die Grundursache ist.

<!DOCTYPE html> 
<html> 
<body> 
    <video src="http://www.myserver.com/video1.mp4" controls height="150" width="150"> 
</body> 
</html> 

Ich habe die Einstellungen für zwei Dinge:

  • Die DOCTYPE
  • Hinzufügen von "http: //" am Anfang der URL

Auch können Sie sich beziehen zu this blog post (Making HTML5 Video work on Android phones) für weitere HTML-Tipps und Tricks zum Erstellen von Videoarbeiten.

+0

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

Verwandte Themen