android - xamarin android中的Webview html音频播放器
问题描述
如何在 webview 中获取此音频播放器,如果我们在 chrome 或任何浏览器中播放音频链接,默认情况下会提供类似上述内容,我们可以在 android webview 中获得完全一样的内容吗?我试图获取 html 元素,但 UI 看起来很奇怪-
尝试1-
var iframeURL = string.Format("<video width=\"{0}\" height=\"{1}\" controls=\"\" autoplay=\"\" name=\"media\"><source src=\"{2}\" type=\"audio/mpeg\"></video>",
width, height, embedUrl);
string finalUrl = string.Format("<html><body>{0}</body></html>", iframeURL);
这个最终的网址是我的网络来源
尝试2-
var iframeURL = string.Format("<iframe style=\"position:fixed; top: 50%; left: 50%;" +
" width:" + " {1}px; height: {2}px; margin-left: {3}px; margin-top: {4}px;\"" + " src =\"{0}\" frameborder=\"0\" " + "allow=\"accelerometer;" +
" autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>",
embedUrl, width, height, -width / 2, -height / 2);
string finalUrl = string.Format("<html><body>{0}</body></html>", iframeURL);
return finalUrl;
解决方案
应该这样做,
var html = string.Format("<!DOCTYPE html><html><head><meta name=\"viewport\"
content=\"width=device-width, initial-scale=1.0\"></head><body><audio controls
autoplay name=\"media\"><source src=\"{0}\" type=\"audio/mpeg\"></audio>
</body></html>",embedUrl);
webView.Source = new HtmlWebViewSource
{
Html = html,
};
XAML:
<WebView x:Name="webView" VerticalOptions="FillAndExpand"
HorizontalOptions="FillAndExpand"></WebView>
结果: