Search code examples
c#.netwinformsyoutubeembed

C# embed youtube/videos in your winforms


I have a problem, i added shockwave player to the winform. But it seems that youtube does not support it anymore. So how can i embed a video/youtube video to my winform application?


Solution

  • You can use a WebBrowser control to show embedded youtube video. To do so, put a WebBrowser control on a form and the put the following code in form:

    protected override void OnLoad(EventArgs e)
    {
        base.OnLoad(e);
        var embed = "<html><head>"+
        "<meta http-equiv=\"X-UA-Compatible\" content=\"IE=Edge\"/>"+
        "</head><body>" +
        "<iframe width=\"300\" src=\"{0}\"" +
        "frameborder = \"0\" allow = \"autoplay; encrypted-media\" allowfullscreen></iframe>" +
        "</body></html>";
        var url = "https://www.youtube.com/embed/L6ZgzJKfERM";
        this.webBrowser1.DocumentText = string.Format(embed, url);
    }
    

    enter image description here

    Note

    1. You should make sure you use the correct url. For example for a video that you can see at this address: https://www.youtube.com/watch?v=L6ZgzJKfERM, the embed url is https://www.youtube.com/embed/L6ZgzJKfERM.

    2. Also you should make sure the video is allowed to be played as embedded. Some videos are just allowed to play on youtube and after you click on play button you receive this error:

      This video contains content from XXXXXX. It is restricted from playback on certain sites or applications.