如何在 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
.
我正在使用 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
.