Xamarin表单Webview不播放视频
我有一个用Xamarin表单Xaml声明的webview。无论我是在CodeBehind还是在Xaml中设置源代码,视频控件都可以很好地渲染,但当您单击播放图标时,它不会播放。我可以通过点击渲染的底部搜索栏前后跳跃。视频将向前跳过并冻结在一帧上,但在点击播放时仍无法播放。我将webview的源设置为一个html5视频标签,因为它是我能得到的最接近要渲染的视频。我应该提到,视频是使用Azure媒体服务格式化为流媒体的,所以这不应该是问题所在Xamarin表单Webview不播放视频,xamarin,xamarin.forms,Xamarin,Xamarin.forms,我有一个用Xamarin表单Xaml声明的webview。无论我是在CodeBehind还是在Xaml中设置源代码,视频控件都可以很好地渲染,但当您单击播放图标时,它不会播放。我可以通过点击渲染的底部搜索栏前后跳跃。视频将向前跳过并冻结在一帧上,但在点击播放时仍无法播放。我将webview的源设置为一个html5视频标签,因为它是我能得到的最接近要渲染的视频。我应该提到,视频是使用Azure媒体服务格式化为流媒体的,所以这不应该是问题所在 <WebView IsVisible="{Bind
<WebView IsVisible="{Binding HasVideo}" Margin="10,0,0,0" BindingContextChanged="WebView_BindingContextChanged" HorizontalOptions="CenterAndExpand"
VerticalOptions="CenterAndExpand" HeightRequest="350" />
private void WebView_BindingContextChanged(object sender, EventArgs e)
{
var webView = ((WebView)sender);
Post post = (Post)webView.BindingContext;
if (post.HasVideo)
{
var htmlSource = new HtmlWebViewSource();
htmlSource.Html = @"<!DOCTYPE html>
<html>
<body>
<video src='" + post.MainVideoURL + @"' controls width='320' height='240' preload='metadata' >
</ body >
</html><style>
video {
object-fit: fill;
}
</style>";
webView.Source = htmlSource;
}
}
私有void WebView_BindingContextChanged(对象发送方,事件参数e)
{
var webView=((webView)发送方);
Post Post=(Post)webView.BindingContext;
如果(post.HasVideo)
{
var htmlSource=新的HtmlWebViewSource();
htmlSource.Html=@”
录像带{
对象匹配:填充;
}
";
webView.Source=htmlSource;
}
}
在已经安装的应用程序上,这也发生在我身上。用户报告了此问题
在Android上:
当您单击播放图标时,它不会播放。我可以通过点击底部搜索栏或点击视频上的左/右来前后跳跃,它显示不同的帧
在iOS上:
随着12.2的最新更新,视频停止工作。它们显示空白背景,不响应任何单击
我也使用视频标签 视频的
BuildAction
是否设置为EmbeddedResource
?视频是指向流媒体端点的internet URL。谢谢,我明白了,你有没有试着像添加
那样添加它?你是说在html中把视频标签包装在一个iframe中?@PatrickGoode:希望有帮助@PatricGoode,Android通过清除应用程序的缓存来解决。谢谢,你说清除应用程序的缓存是什么意思app@PatricGoode例如我的意思是这样。这为我解决了Android的视频问题。打开手机的设置。;轻触存储标题以打开其设置页面;点击“其他应用”标题以查看已安装应用的列表。;找到要清除缓存的应用程序并点击其列表。;点击“清除缓存”按钮。清除应用缓存并不能解决问题,对我来说,它会推迟到下次。@AnaKochevska您找到iOS的解决方案了吗?