2015-02-25 6 views
5

1 kullanarak MediaPicker kullanarak video yakalama ve sonra web sunucusunda bu videoyu yükleyin. Ardından, bu videoyu HTML5 video etiketli WebView'da göstereceğim.Xamarin.googleview webview ve HTML5 video tag ve android sorunu video/view video oynatmak

Bu, iOS için iyi çalışır. Ancak aynı kod Android'de çalışmıyor.

Android'de Webchromeclient oluşturmak için özel oluşturucu oluşturuyorum ancak bu videoda video oynatmıyor.

video ile örnek html5 (Ben de <video> etiketinde type parametre ile deneyin:

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

ve bu benim PCL projede benim web görünümü parçasıdır:

public class MyWebView: WebView 
{ 
} 

bu benim sayfa:

( )
[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); 
     } 
    }  
} 
} 

Bu yüzden birileri bana neyin yanlış olduğunu söyleyebilir mi?

Şimdiden teşekkürler.

cevap

1

Aşağıdaki örnek HTML'yi bazı düzeltmelerle değiştirmeyi deneyin. Bu, kök neden olup olmadığından emin değil.

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

    Ben iki şey için düzenlemeler yaptı "http: //" URL başında

Ayrıca, sevk edebilir Video çalışmasıyla ilgili daha fazla HTML ipucu ve püf noktası için this blog post (Making HTML5 Video work on Android phones) adresine gidin.

+0

Teşekkürler @Alex Lau, zaten htmlimde "http: //" var ve kodumda doğru, sadece yazım hatası vardı. Aslında, blogunuzu zaten iki kez yönlendirdim ve belirtilen talimatları takip ettim. ama yine de androidde başarılı değilim. Ancak javascript'i şu an uygulamıyorum. gerekli değil sanırım. – SoftSan