2017-06-06 378 views
1

我試圖找到解釋如何檢索YouTube視頻網址以在外部播放器中播放的資源。當然,我看了一下YouTube Data API,但似乎沒有辦法做到這一點。UWP播放YouTube視頻

但是,我知道這是可能的,因爲存在能夠流式傳輸視頻的YouTube客戶端應用程序(MetroTube是一個示例)。

我看到相關帖子(How to play a YouTube video in WPF using C#),但它發佈很久以前。我想避免使用WebBrowser控件(或UWP中的WebView)。

有人可以建議一種方法或指向一個資源,允許這?

+0

您可以使用MediaElement播放 – lindexi

+0

您可以使用WebView播放。 – lindexi

回答

2

我已經使用MyToolKit.Extended過去在我的應用程序之一中集成Youtube視頻。

Here

一旦完成安裝NuGet包,你需要調用此方法

internal async Task<Uri> GetYoutubeUri(string VideoID) 
{ 
    YouTubeUri uri = await YouTube.GetVideoUriAsync(VideoID, YouTubeQuality.Quality1080P); 
    return uri.Uri; 
} 

確保你只VideoID傳遞。即如果您的網址是

https://www.youtube.com/watch?v=UO-8CMdeSHA 

您只需要通過UO-8CMdeSHA

完成後,您將收到實際的Media Uri。您現在可以將其設置爲MediaPlayer的來源。像下面的東西。

Uri _videoUri = await GetYoutubeUri("UO-8CMdeSHA"); 
if (_videoUri != null) 
{ 
    player.Source = _videoUri; 
    player.Play(); 
} 

爲了確保你看到的基本的播放/暫停按鈕和其他幾個在你的XAML使用下面。

MediaElement x:Name="player" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" AreTransportControlsEnabled="True" /> 

而你應該可以播放YouTube視頻。

祝你好運。