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 检索标头时遇到问题,始终(空)