2017-10-10 6 views
0

J'utilise MediElement pour lire des vidéos. Maintenant, je souhaite ajouter un texte sur la vidéo lorsqu'elle est en pause. Comment est-ce possible?Comment ajouter un texte sur la vidéo en superposition pendant que la vidéo est en mode pause en UWP

<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 
     } 
    } 
+0

Il suffit d'ajouter TextBlock en XAML après MediaElement et de changer sa visibilité –

+0

Je veux afficher le texte sur la vidéo. Pas en dehors de mediaelement – user2431727

+0

Vous pouvez définir le décalage de texte ou voulez-vous dire avec quelques effets? –

Répondre

0

Juste essayer ceci:

<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> 

Vous pouvez également changer parents Grid-Canvas et mis Canvas.Top/Canvas.Left à TextBlock. Ou utilisez simplement Margin.