当应用程序从.exe启动时,WPF MediaElement不播放视频
本文关键字:MediaElement WPF 播放 视频 应用程序 exe 启动 | 更新日期: 2023-09-27 18:06:02
我已经为我的应用程序设置了一个带有视频的MediaElement作为窗口背景。它工作,但只有当我从Visual Studio启动程序时。如果我尝试从构建的。exe启动它,MediaElement中的视频将无法加载,背景仍然是黑色的。这是我的代码:
<Window.Background >
<VisualBrush>
<VisualBrush.Visual>
<MediaElement Source="Resources/BF4R.wmv" LoadedBehavior="Play" IsMuted="True" MediaEnded="BGRAIN_MediaEnded" ></MediaElement>
</VisualBrush.Visual>
</VisualBrush>
</Window.Background>
这些是BF4R.wmv属性
Build Action: Content
复制到输出目录:始终复制
当本地应用程序可以访问特定的资源,但已安装的版本不能,通常只有几个可能的原因:
1)资源没有正确部署:
为了确保资源被部署,通常应该将它们的Build Action设置为Content,并将Copy To Output Directory设置为Copy always。我看你已经这样做了。如果您正在使用项目Properties页面的Publish选项卡来发布您的应用程序,那么通过单击相关按钮,验证您的资源已列出并设置为在 application Files对话框窗口中包含。
2)在部署应用程序时,无法通过文件路径到达资源:
使用以下格式的文件路径(来自MSDN上的WPF页面中的打包uri)是一种良好的做法:
下面的示例显示了位于引用程序集的项目文件夹的子文件夹中的XAML资源文件的包URI。
pack://application:,,,/ReferencedAssembly;component/Subfolder/ResourceFile.xaml
那么在你的例子中,这更像是:
Source="pack://application:,,,/YourAssemblyName;component/Resources/BF4R.wmv"