2017-10-16 132 views
0

我必須使用MediaElement播放視頻。我想在用戶點擊屏幕時暫停視頻。我發現MediaElement上有雙擊事件,但找不到任何單一的觸摸事件。我怎樣才能做到這一點?如何在單擊/觸摸屏幕時暫停MediaElement - 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) 
    { 
    } 
} 

回答

2

有很多的事件,您可以使用該如MouseLeftButtonDownTouchDown事件。它是那樣簡單:

private void element_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e) 
{ 
    ((MediaElement)sender).Pause(); 
} 

private void element_TouchDown(object sender, System.Windows.Input.TouchEventArgs e) 
{ 
    ((MediaElement)sender).Pause(); 
} 

通過@JetChopper:

private void element_PointerPressed(object sender, PointerRoutedEventArgs e) 
{ 
    ((MediaElement)sender).Pause(); 
} 
+0

我只想要觸摸事件的video.Is以上,可以與這些事件? – user2431727

+0

我不確定你的意思是*「on above」*,但我建議你試試看。 –

+1

只需使用PointerPressed事件。它適用於任何輸入設備。 –

相關問題