Microsoft Media Platform Player Framework, сделать видео полноэкранным нажатием кнопки (или двойным щелчком по видео)
Я только начал играть с разработкой для Windows 8, и я пытаюсь выяснить, как сделать видео, источник которого - от всплывающего URL-адреса до полноэкранного режима, нажатием кнопки или двойным щелчком мыши по области, где воспроизводится видео. Есть идеи, как это сделать? Как следствие, я также должен быть в состоянии свести его к обычному игровому окну. Любые идеи о том, как сделать это с помощью xaml C#?
2 ответа
Каркас проигрывателя имеет логическое свойство IsFullScreen для управления полноэкранным состоянием. Однако вам нужно выполнить работу самостоятельно, чтобы скрыть дополнительные элементы на странице и / или изменить размер медиаплеера. Рекомендуемый подход - установить это свойство и обрабатывать событие IsFullScreenChanged. Например:
<Grid Style="{StaticResource LayoutRootStyle}" x:Name="LayoutRoot">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Border x:Name="LeftPanel" Background="Red" Width="40"/>
<mmppf:MediaPlayer x:Name="player" Grid.Column="1" IsFullScreenVisible="True" Source="http://smf.blob.core.windows.net/samples/videos/wildlife.mp4"/>
</Grid>
public MainPage()
{
this.InitializeComponent();
player.DoubleTapped += player_DoubleTapped;
player.IsFullScreenChanged += player_IsFullScreenChanged;
}
void player_IsFullScreenChanged(object sender, RoutedPropertyChangedEventArgs<bool> e)
{
LeftPanel.Visibility = e.NewValue ? Visibility.Collapsed : Visibility.Visible;
}
void player_DoubleTapped(object sender, DoubleTappedRoutedEventArgs e)
{
player.IsFullScreen = !player.IsFullScreen;
}
Примечание. Существует также свойство MediaPlayer, вызывающее IsFullScreenVisible, которое можно установить в значение true, чтобы отображать полноэкранную кнопку переключения на панели управления по умолчанию.
Я использовал этот код для fullWindow. Это работает, но в полном окне он использует транспортный контроль по умолчанию
private void MediaPlayer_IsFullScreenChanged(object sender, Windows.UI.Xaml.RoutedPropertyChangedEventArgs<bool> e)
{
Microsoft.PlayerFramework.MediaPlayer mp = (sender as Microsoft.PlayerFramework.MediaPlayer);
mp.IsFullWindow = !mp.IsFullWindow;
}