我正在尝试在C# WinForm中播放视频。
以下是我目前所掌握的情况:
我的表单中有一个webViewer控件,以及以下代码:
// Play YouTube video in webBrowser1
string url = "https://www.youtube.com/watch?v=5aCbWqKl-wU";
string html = "<html><head>";
html += "<meta content='IE=Edge' http-equiv='X-UA-Compatible'/>";
html += "<iframe id='video' src='https://www.youtube.com/embed/{0}' style=\"padding: 0px; width: 100%; height: 100%; border: none; display: block;\" allowfullscreen></iframe>";
html += "</body></html>";
webBrowser1.DocumentText = string.Format(html, url.Split('=')[1]);
以下是我运行应用时的外观:
问题是视频没有填满整个webViewer(即图像中的白色部分)。
我将webViewer1.Anchor属性设置为all,因此当我调整表单大小时,webViewer会根据表单调整大小。
备注:
当用户点击全屏按钮时,问题就解决了。但这对我来说是一个糟糕的解决方案,因为这对用户来说是一个糟糕的体验。另外,用户可能不知道他们需要点击全屏按钮。它看起来像这样:
如何让视频占据整个webViewer而无需用户单击全屏按钮?
另外,作为一个附带问题,当用户点击“YouTube”按钮时,它会打开Internet Explorer,而不是默认的浏览器。
2条答案
按热度按时间6pp0gazn1#
您需要修复页面的样式:
这确保了HTML和BODY标记占据了页面的100%,并且允许子iframe占据页面的100%。
wqnecbli2#
我认为你需要设置一个纵横比。
https://www.w3schools.com/howto/howto_css_responsive_iframes.asp