当 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()
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
控件没有任何此类按钮。
您需要自己添加按钮,然后在调用 Play
、Pause
和 Stop
方法的地方将事件处理程序或命令连接到它们。
另一种选择是在不使用 UI 中的任何按钮的情况下以编程方式调用方法,但是当您将 LoadedBehavior
设置为 Manual
时,您有以一种或另一种方式显式调用 Play()
以便媒体播放。
当 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()
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
控件没有任何此类按钮。
您需要自己添加按钮,然后在调用 Play
、Pause
和 Stop
方法的地方将事件处理程序或命令连接到它们。
另一种选择是在不使用 UI 中的任何按钮的情况下以编程方式调用方法,但是当您将 LoadedBehavior
设置为 Manual
时,您有以一种或另一种方式显式调用 Play()
以便媒体播放。