1

我刚刚开始玩 Windows 8 开发,我试图弄清楚如何制作一个视频,其来源是从一个 url 弹出到全屏,无论是按下按钮还是双击视频正在播放的区域。关于如何做到这一点的任何想法?作为后续行动,我还必须能够将其最小化回正常的播放窗口。关于如何使用 xaml C# 执行此操作的任何想法?

参考: http ://playerframework.codeplex.com/wikipage?title=Windows%208%20Metro%20Player:%20Install%20and%20configure%20-%20XAML/C

4

2 回答 2

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 以在默认控制条中显示全屏切换按钮。

于 2013-03-18T17:19:33.970 回答
1

我将此代码用于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;
            }
于 2015-09-29T19:39:56.813 回答