[英]WPF MediaElement not playing video when application is started from .exe
我已将带有视频的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属性:
建立动作:内容
复制到输出目录:始终复制
当本地应用程序可以访问特定资源而安装的版本不能访问时,通常只有几种可能的原因:
1)资源未正确部署:
为了确保部署资源,通常应将其“ 构建操作”设置为“ 内容”,并将“ 复制到输出目录”设置为“始终复制” 。 我看到你已经做到了。 如果您正在使用项目“ 属性”页面的“ 发布”选项卡来发布应用程序,则请验证您的资源是否已列出,并通过单击相关按钮在“ 应用程序文件”对话框窗口中设置为“ 包含” 。
2)部署应用程序时,无法通过文件路径访问资源:
优良作法是使用以下格式的文件路径(来自MSDN上WPF页面中的Pack URI ):
下面的示例显示XAML资源文件的包URI,该文件位于引用的程序集的项目文件夹的子文件夹中。
pack://application:,,,/ReferencedAssembly;component/Subfolder/ResourceFile.xaml
因此,在您的情况下,这更像是:
Source="pack://application:,,,/YourAssemblyName;component/Resources/BF4R.wmv"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.