我有一个用C#编写的WPF应用程序。此应用程序有两个彼此相邻的WPF WebBrowser控件。每个导航到不同的本地托管的HTML文件。每个HTML文件都有一个视频元素,指向存储在同一目录中的.mp4视频文件。
我的问题是视频内容无法在WebBrowser控件中呈现。如果我使用完全相同的URL并将其放在同一台PC上的Internet Explorer 11中,则视频内容运行完全正常。我知道WebBrowser控件的实际导航是有效的,因为页面是半渲染的。我可以看到背景颜色正确显示,但就是这样。如果我在其中一个控件中右键单击并查看源代码,我可以在那里看到正确的HTML。
尝试将此question的答案中的建议应用于Internet Explorer 11,我尝试使用此link中的信息在我的可执行文件中运行WebBrowser控件,但没有成功。< / p>
我不确定这是否相关,但我已经有了#34;允许活动内容在“我的电脑”中的文件中运行&#34;在Internet Explorer上的Internet选项中签入。
以下是视频的HTML标记:
<div id="video_holder">
<video id="video" width="1200" height="900" autoplay>
<source src=".\FANCY.mp4" type="video/mp4">
</video>
</div>
以下是调用WebBrowser控件的Navigate()方法的代码(此Form的构造函数接收来自另一个类的url - 我很确定问题不在这里,但是,因为我可以看到实际导航似乎正在工作,HTML开始呈现):
public partial class TwoPaneWindow : Window
{
private string leftUrl;
private string rightUrl;
public TwoPaneWindow(string left, string right)
{
leftUrl = left;
rightUrl = right;
}
public void StartWindow()
{
InitializeComponent();
this.Show();
LeftBrowser.Navigate(leftUrl);
RightBrowser.Navigate(rightUrl);
}
}
有人能说出发生了什么吗?我在Windows 8.1上安装的IIS上托管这个。提前感谢您提供任何帮助。
答案 0 :(得分:1)
终于弄明白了。即使我说我尝试了this question的答案,但我实际上错误地使用了FEATURE_BROWSER_EMULATION键。我尝试将FEATURE_BROWSER_EMULATION添加到 HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Internet Explorer \ Main \ FeatureControl,实际上需要在 HKEY_CURRENT_USER \ Software \ Microsoft \ Internet Explorer中进行修改\ MAIN \ FeatureControl \ FEATURE_BROWSER_EMULATION。一旦我为我的应用程序(共享其名称)创建了一个值为0x2AF8的新DWORD条目,WebBrowser控件立即开始正常工作。我确定这是一个新手的错误,但希望将来可以帮助其他人。