2014-02-21 83 views
0

有沒有辦法創建一個選項,用戶可以在觀看視頻的那一刻選擇質量?像YouTube一樣,無論如何要創建一個選項,用戶也可以全屏觀看。視頻中的XAML選項質量

這是背後的代碼,我把視頻放在低質量的視頻中,但如果用戶想看高質量的視頻,那麼我需要在應用程序中顯示一個選項來提高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> 

回答

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(); 

    } 

然後,比如說,把一個組合框在你的用戶界面,你綁定ItemSourceQualityChoices,並將SelectedItem添加到您的selectedQuality,然後更改您的呼叫以加載視頻,以便使用selectedQuality而不是固定值。

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

注意:我在猜測YouTubeQuality類的值,因爲它不是我熟悉的東西。這些文件可以讓你知道什麼是有效的值。

+0

對不起,我的無知,但我如何填充該列表? – Mikasuki

+0

看我的編輯。您可以通過多種方式來完成,但我堅持將項目添加到MainPage構造函數中的QualityChoices列表中(如您在其他問題中所看到的那樣)。 – Mashton

+0

但是,如果允許用戶更改質量設置,則需要更改MainPage構造函數的工作方式,然後您需要更改以明確播放視頻,而不是僅僅觸發它在構造函數中運行。 – Mashton