【发布时间】:2020-06-29 15:34:03
【问题描述】:
UWP MediaPlayerElement 同时具有 PosterSource 和 VideoSource。这个问题主要是关于保持 PosterSource 显示直到播放。
Docs 状态:
- 未设置有效源时。例如,未设置源, 源设置为 Null,或源无效(如 触发 MediaFailed 事件)。
- 加载媒体时。例如,一个 设置了有效的源,但尚未触发 MediaOpened 事件。
- 当媒体流式传输到另一台设备时。
- 当媒体仅为音频时。
我要确定的是如何在自动播放关闭时即使在媒体完成下载后仍显示海报图像。可悲的是,第一帧+是黑屏。所以我希望海报一直显示,直到按下播放按钮。
想法?
编辑:
Faywang 非常有帮助。
除了他的 cmets,我还做了以下工作:
private void PlayPauseButton_EnabledChanged(object sender, DependencyPropertyChangedEventArgs e)
{
var button = (sender as AppBarButton);
if(!(bool)e.newValue)
{
button.IsEnabled = true;
}
}
【问题讨论】:
-
根据文档,它提到“在加载媒体时。例如,设置了有效的源,但尚未触发 MediaOpened 事件。”。在您单击播放按钮之前,媒体已经加载,因此海报将消失。如果您想在单击播放按钮之前保留海报,也许您可以设置 PosterSource 而不要首先将 Source 设置为 MediaPlayerElement。然后监听播放按钮的点击事件,当事件触发时,可以在该事件中设置Source并播放。
-
@Faywang。 MediaPlayerElement (MPE) 不允许我调整播放按钮。如果没有来源,它会被禁用。 IsPlayEnabled 没有 TransportControl 选项,就像 MediaPlayer.SystemMediaMTransportControls 一样。我尝试将其设置为 true,但它不会影响 MPE。