我已经尝试了几乎所有的东西来尝试解决这个问题,但是碰壁了。
大多数示例都要求您在注入的HTML中使用css,如下所示:
video::-webkit-media-controls-overlay-play-button {
display: none;
}
video::-webkit-media-controls-overlay-play-button
video::-webkit-media-controls
video::--webkit-media-controls-play-button
我在这里看到了大多数问题,但是我的情况有所不同,因为在创建新的WebChromeClient时,我注入HTML Azure媒体播放器的xaml中的WebView的默认海报返回了null。将默认海报返回为位图:
我的代码段如下:(xaml和注入的HTML)
<WebView HorizontalOptions="FillAndExpand" WidthRequest="600" HeightRequest="300">
<WebView.Source>
<HtmlWebViewSource Html="{Binding LatestVideoUrl}"/>
</WebView.Source>
</WebView>
HTML字符串:
<html>
<head>
<link href=""https://amp.azure.net/libs/amp/2.2.0/skins/amp-default/azuremediaplayer.min.css"" rel=""stylesheet"">
<script src=""https://amp.azure.net/libs/amp/2.2.0/azuremediaplayer.min.js""></script>
</head>
<body>
<video id=""azuremediaplayer"" style=""background-color: black !important; font-size: 12px !important;"" class=""azuremediaplayer amp-default-skin amp-big-play-centered"" type=""video/webm"" tabindex=""0""></video>
<script>
var myOptions = {
""nativeControlsForTouch"": false,
""logo"": { ""enabled"": false },
controls: true,
autoplay: true,
width: ""100%"",
height: ""100%"",
poster: ""{Binding ThumbnailUrl}"",
hotKeys: { ""enableFullscreen"": true }
};
myPlayer = amp(""azuremediaplayer"", myOptions);
myPlayer.src([
{
src: ""{Binding LatestVideoUrl}"",
type: ""application/vnd.ms-sstr+xml""
}
]);
</script>
</body>
</html>
我已尝试禁用视频标签的视频标签,以使默认视频播放器控件无效,以便Azure Media Play可以具有优先权,但是没有运气。
我也出于兴趣而尝试了Content-Security-Policy元标记,但这并不是正确的方法,因为它非常hacky: 它确实可以工作,但是当我将其构建并部署到我的设备时,这使视频变得非常缓慢,并且Azure Media Play控件没有显示。
<meta http-equiv="Content-Security-Policy"
content="default-src *;
style-src 'self' http://* 'unsafe-inline' ;
media-src * ;
img-src * 'self' http://* 'unsafe-inline';
script-src 'self' http://* https://* 'unsafe-inline' 'unsafe-eval'"/>
任何帮助将不胜感激。