我正在尝试查找可解释如何检索要在外部播放器中播放的YouTube视频网址的资源。当然,我已经看了YouTube Data API,但似乎没有办法做到这一点。
但是,我知道这是可能的,因为存在能够流式传输视频的YouTube客户端应用程序(MetroTube就是一个例子)。
我看到了相关帖子(How to play a YouTube video in WPF using C#),但很久以前就发布过了。我想避免使用WebBrowser控件(或UWP中的WebView)。
有人可以建议一种方法或指向允许这种情况的资源吗?
答案 0 :(得分:3)
我过去曾使用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
个视频。
祝你好运。