【发布时间】:2014-09-19 18:16:15
【问题描述】:
我有一个用 C# 编写的 WPF 应用程序。此应用程序有两个相邻的 WPF WebBrowser 控件。每个都导航到不同的本地托管 HTML 文件。每个 HTML 文件都有一个 video 元素,该元素指向存储在同一目录中的 .mp4 视频文件。
我的问题是视频内容没有在 WebBrowser 控件中呈现。如果我使用完全相同的 URL 并将其放入同一台 PC 上的 Internet Explorer 11 中,则视频内容运行得非常好。我知道 WebBrowser 控件的实际导航正在工作,因为页面呈现一半。我可以正确看到背景颜色显示,但仅此而已。如果我在其中一个控件内右键单击并查看源代码,我可以在那里看到正确的 HTML。
尝试将这个question 的答案中的建议应用到 Internet Explorer 11,我尝试使用这个link 中的信息让我的可执行文件中的 WebBrowser 控件像 IE11 一样运行,但没有成功。
我不确定这是否相关,但我已经在 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() 方法的代码(此表单的构造函数接收来自另一个类的 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 上托管它。提前感谢您提供的任何帮助。
【问题讨论】: