应用程序从.exe启动时,WPF MediaElement无法播放视频

时间:2014-06-01 08:40:20

标签: c# wpf xaml

我已经为我的应用程序设置了一个视频作为窗口背景的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 个答案:

答案 0 :(得分:0)

当本地应用程序可以访问特定资源但安装的版本不能访问时,通常只有几个可能的原因:

1)资源未正确部署:

为确保部署资源,您通常应将构建操作设置为内容,将复制到输出目录设置为复制总是。我看到你做到了这一点。如果您使用项目的属性页面的发布选项卡发布应用程序,请验证您的资源是否已列出并设置为包含点击相关按钮,应用程序文件对话框窗口。

2)部署应用程序时,文件路径无法访问资源:

最好使用以下格式的文件路径(来自MSDN上的Pack URIs in WPF页面):

  

以下示例显示了XAML资源文件的pack URI,该文件位于引用程序集的项目文件夹的子文件夹中。

pack://application:,,,/ReferencedAssembly;component/Subfolder/ResourceFile.xaml 

所以在你的情况下,这更像是:

Source="pack://application:,,,/YourAssemblyName;component/Resources/BF4R.wmv"