gpt4 book ai didi

c# - mediended 事件的触发是否有任何默认时间间隔?

转载 作者:可可西里 更新时间:2023-11-01 11:45:30 25 4
gpt4 key购买 nike

我有一个 WPF 应用程序,它动态加载视频或图像文件(取决于用户的选择,到 MediaElement 控件。当它是视频并且在结束视频时触发 MediaEnded 事件时它工作正常。但是当我加载图像时,MediaEnded 事件会在 5 秒内触发。它是默认值吗?或者我可以以编程方式更改它吗?是否有任何属性可以更改此间隔或禁用此类选项?是否可以让它暂停直到执行特定操作?

我设置了如下属性

MediaControl1.LoadedBehavior = MediaState.Manual;
MediaControl1.UnloadedBehavior = MediaState.Manual;

最佳答案

MediaElement 是 Windows Media Player 的一个(非常薄的)包装器(或者更确切地说 - 使用与 Windows Media Player 使用的框架相同的框架)。如果您在 Windows Media Player 中打开图像 - 您会看到它将像幻灯片一样“播放”它(即使是一张图像)大约 5 秒钟。这就是为什么您会在 5 秒内收到 MediaEnded 事件 - Windows Media Player 会在这段时间内用您的图像播放幻灯片。我怀疑是否有一种方法可以从 WPF 中更改它(因为它是外部程序\框架的行为,与 MediaElement 本身无关)而且我不知道如何为 Windows Media Player 更改它(即使有这种方式 - 它也会产生全局影响,您可能不想以这种方式修改您的客户端计算机)。

要解决您的问题 - 不要使用 MediaElement 来显示图像 - 使用类似 Image 的控件。如果您有充分的理由这样做 - 您可以在加载“幻灯片”后使用 Pause 方法暂停 MediaElement,然后它不会触发 MediaEnded 事件。总而言之 - 我无法想象您真的必须为图像使用 MediaElement 的任何用例。

关于c# - mediended 事件的触发是否有任何默认时间间隔?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46567372/

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