【问题标题】:XAML options quality in a video视频中的 XAML 选项质量
【发布时间】:2014-02-21 14:58:56
【问题描述】:

是否可以创建一个选项,让用户可以在观看视频的那一刻选择质量?就像 YouTube 一样,无论如何都可以创建一个用户也可以全屏观看的选项。

这是此时我将视频设置为低质量的代码,但如果用户想要以高质量观看,那么我需要在应用程序中显示一个选项来提高质量,就像我之前说的 YouTube 一样。

 var url = await YouTube.GetVideoUriAsync("2rJwYN_SmOU", YouTubeQuality.QualityLow);

这是 xaml 代码。

<Grid x:Name="grdVideo" Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
   <MediaElement  x:Name="meTestVideo"  HorizontalAlignment="Left" Height="578"  Margin="188,128,0,0" VerticalAlignment="Top" Width="1000"/>
</Grid>

【问题讨论】:

    标签: c# xaml youtube


    【解决方案1】:

    是的,当然。 与其传入固定的YouTubeQuality.QualityLow 值,不如传入适当类型的值,并拥有允许用户选择他们想要使用的该类型的值的 UI。 例如,在表单上创建一些新属性:

    public List<YouTubeQuality> QualityChoices = new List<YouTubeQuality>;
    private YouTubeQuality selectedQuality;
    

    填充 QualityChoices 列表:

    public MainPage()
        {
    
            this.InitializeComponent();
    
            QualityChoices.Add(YouTubeQuality.Quality.Low);
            QualityChoices.Add(YouTubeQuality.Quality.Medium);
            QualityChoices.Add(YouTubeQuality.Quality.High);
    
            PlayVideo(); 
    
        }
    

    然后,比如说,在您的 UI 中放置一个组合框,将ItemSource 绑定到QualityChoices,将SelectedItem 绑定到您的selectedQuality,然后更改调用以加载视频,以便使用selectedQuality 而不是固定值。

    var url = await YouTube.GetVideoUriAsync("2rJwYN_SmOU", selectedQuality);
    

    注意:我猜测的是 YouTubeQuality 类的值,因为它不是我熟悉的东西。相关文档会让您知道什么是有效值。

    【讨论】:

    • 抱歉我的无知,但我该如何填写该列表?
    • 查看我的编辑。您可以通过多种方式做到这一点,但我已将项目添加到 MainPage 构造函数中的 QualityChoices 列表中(如您的其他问题之一所示)。
    • 但是您仍然需要更改 MainPage 构造函数的工作方式,如果您允许用户更改质量设置,那么您需要进行更改以显式播放视频而不仅仅是触发它在你的构造函数中运行。
    • 是的,我已经准备好了,好吧,组合框就是这样的 Low??我认为组合框不正确。
    • 组合框>
    猜你喜欢
    • 2021-01-08
    • 2015-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-02
    • 1970-01-01
    相关资源
    最近更新 更多