gpt4 book ai didi

.net - 媒体元素不显示

转载 作者:行者123 更新时间:2023-12-04 17:40:32 25 4
gpt4 key购买 nike

我在我们正在构建的应用程序中新创建的窗口上放置了一个 MediaElement,将其源设置为 wmv(也尝试使用 gif),但是当我运行它时它没有显示在屏幕上。

然后我创建了一个新的单独项目,一切都按预期工作。

这是有效的代码:

<MediaElement Source="pre-loader.wmv" LoadedBehavior="Manual" Name="Video" />

这是不起作用的代码:
<MediaElement Source="pre-loader.wmv" LoadedBehavior="Manual" Name="Video" />

我知道,它是一样的...我不明白?

我尝试了几种不同的方法,但得到了相同的结果。测试项目工作主要应用程序没有。

我在两个项目中使用相同的 wmv 文件,我还确保在这两种情况下复制到输出目录。设置为如果较新则复制。

任何帮助都会......好吧,有帮助

更新:我尝试使用 snoop 查找 MediaElement,ActualWidth、ActualHeigt 均为 0,但 height 属性为 140,width 属性为 NAN。
此外,来源 = 默认。

当我在 Blend 中查看屏幕时,我也收到“加载预览时出错”,但它并没有让我知道错误是什么。

最佳答案

首先要看的是你的项目资源。 “Source”属性表示您从相对 URI 获取视频,只有当视频位于您的项目文件中时才有效。

MediaElement 默认情况下有一个静默失败,这意味着它不会抛出异常,除非您专门对其进行编程。这通常是在 Mediaelement 的“MediaFailed”(VB)/“OnMediaFailed”(C#) 属性中的代码隐藏中使用某种操作来设置的。我通常会在此事件中放置一个消息框来告诉用户视频无法加载。

在您遇到问题的项目中,您需要做的第一件事是进入项目属性,转到“资源”选项卡,然后将视频作为资源导入。然后,在解决方案资源管理器中,单击视频(在资源文件夹中)并(如您所做的那样)将其属性设置为 BuildAction = None 和 CopyToOutput = Copy if newer。请勿将其设置为“嵌入式资源”,否则 MediaElement 将无法播放。它必须设置为“无”。

然后,将 mediaelement 源更改为“Resources/pre-loader.wmv”

另一个(相当明显的)问题是检查您是否在后面的代码中调用了 mediaelement.play 函数。如果您不需要明确控制播放/暂停/停止功能,我会将 LoadedBehavior 设置为“播放”。

希望有帮助!如果您还有其他问题,请发表评论。

关于.net - 媒体元素不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5007911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com