我的 C# (WPF
) 应用程序中有许多 Buttons
我想播放视频。到目前为止,我已经尝试了很多事情。
内置的 MediaElement
成功播放了视频,但是在播放视频之前有很大的延迟 ( previous question )。我从未找到解决方案,因此我继续前进。
我尝试了另一种解决方案,即使用 WebBrowser
并在其中嵌入一些 HTML 来播放视频。这不起作用,因为 WebBrowser
使用不支持 HTML5 视频的旧版 IE。结果我继续尝试 Awesomium。
这是我目前为 Awesomium 编写的代码;
<Grid>
<osm:WebControl x:Name="webControl" Margin="10"/>
</Grid>
在我的代码后面;
private void OnPageLoad(object sender, RoutedEventArgs e)
{
try
{
var videoURI = new Uri(Properties.Settings.Default.FirstVideoPath);
webControl.LoadHTML(@"<video width = ""100%"" height = ""100%"" controls >
<source src = ""C:\Desktop\example.mp4"" type = ""video/mp4"">
</video>");
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
HTML 在 Chrome 中打开时工作正常,但在我的 C# 应用程序中会出现这种情况;
基本上我的问题是这样的。有没有人在不使用内置 MediaElement
的情况下在他们的应用程序中成功播放视频?我可以用什么来实现我想要的?
最佳答案
我曾经遇到过与 MediaElement
相同的性能问题。为了解决这个问题,我们从使用 MediaElement
改为使用 MediaUriElement
。 MediaUriElement
是 WPFMediaKit 的一部分.请注意,您可能还需要下载并安装 Windows Media Codec .
应下载 WPFMediaKit,然后从 .zip 中检索 WPFMediaKit.dll 文件并从您的项目中引用它。然后在 XAML 中你应该添加这个引用:
xmlns:mk="clr-namespace:WPFMediaKit.DirectShow.Controls;assembly=WPFMediaKit"
然后像这样使用 MediaUriElement
:
<mk:MediaUriElement Source="Your video path"/>
关于c# - 在 C# 应用程序中播放视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36548524/