当 LoadedBehavior="Manual" 时,WPF MediaElement 不显示视频

WPF MediaElement doens't show video when LoadedBehavior="Manual"

当 MediaElement 的 LoadedBehavior 属性设置为 "Manual" 时, 我可以在预览器中看到视频,但是当我 运行 应用程序时,视频根本不显示。

当 LoadedBehavior 设置为 "Play" 时,它工作正常。

视频文件的'Build Action'属性设置为"Content"。 视频文件的'Copy to output' 属性设置为"Copy Always".

这是不显示视频的代码:

   <MediaElement Source="Videos\abc.mp4" Height="300" Width="300" LoadedBehavior="Manual"/>

您已将 LoadedBehavior 设置为 "Manual",这意味着您需要启动 MediaElement 'manual'(有趣的是;))只需在您的代码中调用 Play()

Here is the doc

So I expect the media player to be displayed with the right buttons, and let the user to chose when to play, pause, stop

那么您的期望就大错特错了,因为 MediaElement 控件没有任何此类按钮。

您需要自己添加按钮,然后在调用 PlayPauseStop 方法的地方将事件处理程序或命令连接到它们。

另一种选择是在不使用 UI 中的任何按钮的情况下以编程方式调用方法,但是当您将 LoadedBehavior 设置为 Manual 时,您有以一种或另一种方式显式调用 Play() 以便媒体播放。