2017-06-06 377 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视频。

祝你好运。