C# 当应用程序从.exe启动时,WPF MediaElement不播放视频
我已经为我的应用程序设置了一个带有视频的MediaElement作为窗口背景。它可以工作,但只有当我从VisualStudio启动程序时。如果我尝试从builded.exe启动它,MediaElement中的视频将不会加载,背景仍为黑色。 这是我的代码:C# 当应用程序从.exe启动时,WPF MediaElement不播放视频,c#,wpf,xaml,C#,Wpf,Xaml,我已经为我的应用程序设置了一个带有视频的MediaElement作为窗口背景。它可以工作,但只有当我从VisualStudio启动程序时。如果我尝试从builded.exe启动它,MediaElement中的视频将不会加载,背景仍为黑色。 这是我的代码: <Window.Background > <VisualBrush> <VisualBrush.Visual> <MediaElement Source=
<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未正确部署资源: 为了确保资源得到部署,您通常应该将它们的构建操作设置为Content并复制到输出目录以始终复制。我看你已经这样做了。如果要使用项目属性页的“发布”选项卡发布应用程序,请单击相关按钮,验证资源是否已列出并设置为包含在“应用程序文件”对话框窗口中 2部署应用程序时,无法通过文件路径访问资源: 从MSDN页面使用以下格式的文件路径是一种良好的做法: 以下示例显示位于引用程序集的项目文件夹的子文件夹中的XAML资源文件的包URI 所以在你的情况下,这更像是:
Source="pack://application:,,,/YourAssemblyName;component/Resources/BF4R.wmv"
可执行文件旁边是否有Resources/BF4R.wmv。否。它不是,现在它起作用了。但我想让它从嵌入式资源播放。我该如何做呢?使用as资源而不是嵌入式资源,并使用包URI来标识资源。我尝试了源代码=pack://siteoforigin:,,,/Resources/BF4R.wmv,它仍为黑色,但在designer中显示了背景。siteoforigin表示您已从internet资源部署了应用程序,并尝试从中下载资源。我尝试了此操作。它在designer中工作,但在运行时媒体元素保持黑色。
Source="pack://application:,,,/YourAssemblyName;component/Resources/BF4R.wmv"