MediaPicker
fromを使用してビデオをキャプチャしxamarin.labs
、そのビデオを Web サーバーにアップロードしています。その後、そのビデオを取得して、HTML5 ビデオ タグを使用して WebView に表示します。
これは iOS では問題なく動作します。ただし、同じコードは Android では機能しません。
Androidでカスタムレンダラーを作成して作成しますWebchromeclient
が、Androidでビデオを再生しません。
ビデオ付きのサンプルhtml5は(タグのtype
パラメーターでも試します:<video>
<Doctype! HTML>
<html>
<body><video src="www.myserver.com/video1.mp4" controls height="150" width="150"/>
</body>
</html/>
これは私の PCL プロジェクトの Web ビュー パーツです。
public class MyWebView: WebView
{
}
これは私のページです:
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 レンダラー:
[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);
}
}
}
}
誰が何が間違っているのか教えてもらえますか?
前もって感謝します。