Xamarin Forms:使用 webView 播放本地视频(测试 Android ATM)

Posted

技术标签:

【中文标题】Xamarin Forms:使用 webView 播放本地视频(测试 Android ATM)【英文标题】:Xamarin Forms: play local videos using webView (Testing Android ATM) 【发布时间】:2018-06-03 23:31:54 【问题描述】:

资产文件夹中存储的视频(androidAsset)

Xaml:

<WebView x:Name="myWebView"  
VerticalOptions="FillAndExpand"
HorizontalOptions="FillAndExpand"
WidthRequest="500" HeightRequest="200"/>

背后:页面构造函数中调用的 PlayVideo 方法:

string myVideohtml = String.Format(@"<html>
<body style='position: relative;width: 
100%;height: 0;padding-bottom: 56.25%;'>
<video poster='black.jpg' style='position: 
absolute; top: 0;left: 0;width: 100%;height: 100%;' autoplay controls>
<source src='0' type='video/mp4'/></video></body></html>", 
videoUrlFilename);
var html = new HtmlWebViewSource  Html = myVideoHtml;
myWebView.Source = html;

在 android 7.0 上测试过。它就像一个魅力,但是当我在 android 4.2.2 上测试它时它不起作用;我在这里遗漏了什么吗?

【问题讨论】:

狂拍,可能Android 4.2.2还不支持HTML5? 正是我的想法。如果是这样,您知道在 android 上播放本地视频的另一种方法吗? 媒体播放器 -> developer.android.com/guide/topics/media/mediaplayer.html 【参考方案1】:

由于您使用 HTML5 来播放视频文件,并且正如您所说,它适用于 Android 7.0 而不适用于 Android 4.2.2,因此在 WebView 中重新检查哪个版本的 Android 支持 HTML5 可能是合理的。

作为替代方案,您始终可以使用旧的和好的 MediaPlayer:Official Android DocumentationOfficial Xamarin Documentation

【讨论】:

谢谢,这比我上面尝试的要好得多。我会想办法看看它是否有效。 欢迎来到***,请花点时间熟悉下一个主题:***.com/help/someone-answers【参考方案2】:

您需要更新您的网络视图。旧版本无法在嵌入 webview 的 html 视频播放器上播放视频。

【讨论】:

以上是关于Xamarin Forms:使用 webView 播放本地视频(测试 Android ATM)的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin.Forms中为WebView指定数据来源Source

xamarin Forms 和 webview 没有使用正确的类

Xamarin Forms:使用 webView 播放本地视频(测试 Android ATM)

使用 ShouldOverrideUrlLoading 从 Xamarin.Forms Android webview 检索标头时遇到问题,始终(空)

在Xamarin.Forms应用程序中离开页面后,Webview不会关闭

Xamarin Forms Webview html 视频不在 iOS 设备上播放