【问题标题】:Xamarin Forms: play local videos using webView (Testing Android ATM)Xamarin Forms:使用 webView 播放本地视频(测试 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 上测试它时它不起作用;我在这里遗漏了什么吗?

【问题讨论】:

标签: c# android xamarin xamarin.forms cross-platform


【解决方案1】:

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

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

【讨论】:

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

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

【讨论】:

    猜你喜欢
    • 2019-08-28
    • 2016-02-04
    • 2017-12-30
    • 2020-12-08
    • 1970-01-01
    • 1970-01-01
    • 2012-12-21
    • 2017-04-20
    • 2012-12-16
    相关资源
    最近更新 更多