如何在 UWP 中视频处于暂停状态时在视频上添加文本作为叠加层

How to add a text on video as overlay while the video is in pause state in UWP

我正在使用 MediElement 播放 videos.Now 我想在视频处于暂停状态时添加一段文字。怎么可能?

 <MediaElement Name="videoMediaElement" AreTransportControlsEnabled="True" Stretch="Fill"  MediaOpened="videoMediaElement_MediaOpened" CurrentStateChanged="Media_State_Changed" >
 <MediaElement.TransportControls>
 <MediaTransportControls Background="Red" Foreground="White" IsStopButtonVisible="True" IsStopEnabled="True" IsTextScaleFactorEnabled="True" IsPlaybackRateEnabled="True" IsPlaybackRateButtonVisible="True" IsFastForwardButtonVisible="True" IsFastForwardEnabled="True" IsFastRewindButtonVisible="True" IsFastRewindEnabled="True" />
 </MediaElement.TransportControls>
 </MediaElement>

private async void Media_State_Changed(object sender, RoutedEventArgs args)
    {
        if (videoMediaElement.CurrentState == MediaElementState.Paused)
        {
       //write  a text here
        }
     }

试试这个:

    <Grid>
        <MediaElement Name="videoMediaElement" AreTransportControlsEnabled="True" Stretch="Fill"  MediaOpened="videoMediaElement_MediaOpened" CurrentStateChanged="Media_State_Changed" >
            <MediaElement.TransportControls>
                <MediaTransportControls Background="Red" Foreground="White" IsStopButtonVisible="True" IsStopEnabled="True" IsTextScaleFactorEnabled="True" IsPlaybackRateEnabled="True" IsPlaybackRateButtonVisible="True" IsFastForwardButtonVisible="True" IsFastForwardEnabled="True" IsFastRewindButtonVisible="True" IsFastRewindEnabled="True" />
            </MediaElement.TransportControls>
        </MediaElement>

        <TextBlock Text="asdf" Foreground="White" HorizontalAlignment="Center" VerticalAlignment="Center"/>
    </Grid>

您也可以将父项 Grid 更改为 Canvas,并将 Canvas.Top/Canvas.Left 设置为 TextBlock。或者只使用 Margin.