I found it online, but it is not bad. Many formats are supported. You only need to put a lable on the page, create a folder named movie for the video file, and add the code: protected void page_load (Object sender, eventargs e) {This. label1.text = play ("movie/1.wmv", 500,400);} Public String play (string URL, int width, int height) {string strtmp = URL. tolower (); If (strtmp. endswith (". WMV ") | strtmp. endswith (". MP3 ") | strtmp. endswith (". WMA ") | strtmp. endswith (". avi ") | strtmp. endswith (". ASF ") | strtmp. endswith (". MPG ") {return WMV (URL, width, height);} else if (strtmp. endswith (". MP3 ") {return MP3 (URL, width, height);} else if (strtmp. endswith (". SWF ") {return SWF (URL, width, height);} else if (strtmp. endswith (". jpg ") | strtmp. endswith (". GIF ") {return IMG (URL, width, height);} else if (strtmp. endswith (". RM ") {return rm (URL, width, height);} else if (strtmp. endswith (". rmvb ") {return rmvb (URL, width, height);} else {return" data error ";}} /// <summary> /// WMV format file playback /// </Summary> /// <Param name = "url"> </param> /// <returns> </returns> private string WMV (string URL, int width, int height) {system. text. stringbuilder sb = new system. text. stringbuilder (); sb. append ("<Object ID = \" wmplay \ "style = \" width: "+ width +" PX; Height: "+ height +" PX \ "\ n "); SB. append ("classid = \" CLSID: 6bf52a52-394a-11d3-b153-00c04f79faa6 \ "type = application/X-oleobject standby = \" loading Windows Media Player components... \ ""); sb. append ("codebase = \" downloads/mediaplayer9.0_cn.exe \ "viewastext> \ n"); sb. append ("<Param name = \" url \ "value = '" + URL + "'> \ n"); sb. append ("<Param name = \" controls \ "value = \" controlpanel, statusba \ ">"); // <Param name = "controls" value = "controlpanel, statusbar "> Sb. append ("<Param name = \" Hidden \ "value = \" 1 \ ">"); sb. append ("<Param name = \" showcontrols \ "value = \" 0 \ ">"); sb. append ("<Param name = \" rate \ "value = \" 1 \ "> \ n"); sb. append ("<Param name = \" balance \ "value = \" 0 \ "> \ n"); sb. append ("<Param name = \" currentposition \ "value = \"-1 \ "> \ n"); sb. append ("<Param name = \" defaultframe \ "value = \" \ "> \ n"); sb. append ("<Param name = \" playcount \ "value = \" 100 \ "> \ n"); sb. append ("<Param name = \" autostart \ "value = \"-1 \ "> \ n"); sb. append ("<Param name = \" currentmarker \ "value = \" 0 \ "> \ n"); sb. append ("<Param name = \" invokeurls \ "value = \"-1 \ "> \ n"); sb. append ("<Param name = \" baseurl \ "value = \" \ "> \ n"); sb. append ("<Param name = \" volume \ "value = \" 85 \ "> \ n"); sb. append ("<Param name = \" mute \ "value = \" 0 \ "> \ n"); sb. append ("<Param name = \" uimode \ "value = \" Mini \ "> \ n"); sb. append ("<Param name = \" stretchtofit \ "value = \" 0 \ "> \ n"); sb. append ("<Param name = \" windowlessvideo \ "value = \" 0 \ "> \ n"); sb. append ("<Param name = \" enabled \ "value = \"-1 \ "> \ n"); sb. append ("<Param name = \" enablecontextmenu \ "value = \" false \ "> \ n"); sb. append ("<Param name = \" fullscreen \ "value = \" 0 \ "> \ n"); sb. append ("<Param name = \" samistyle \ "value = \" \ "> \ n"); sb. append ("<Param name = \" samilang \ "value = \" \ "> \ n"); sb. append ("<Param name = \" samifilename \ "value = \" \ "> \ n"); sb. append ("<Param name = \" captioningid \ "value = \" \ "> \ n"); sb. append ("</Object> <br> \ n"); return sb. tostring ();} private string rmvb (string URL, int width, int height) {system. text. stringbuilder sb = new system. text. stringbuilder (); sb. append ("<object Height = '" + height + "'width ='" + width + "'classid = CLSID: CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA>"); sb. append ("<Param name = \" _ extentx \ "value = '000000'>"); sb. append ("<Param name = \" _ extenty \ "value = '000000'>"); sb. append ("<Param name = \" autostart \ "value = '-1'>"); sb. append ("<Param name = \" Shuffle \ "value = '0'>"); sb. append ("<Param name = \" prefetch \ "value = '0'>"); sb. append ("<Param name = \" nolabels \ "value = '0'>"); sb. append ("<Param name = \" src \ "value = '" + URL + "'>"); sb. append ("<Param name = \" controls \ "value = 'imagewindow'>"); sb. append ("<Param name = \" console \ "value = 'clip'>"); sb. append ("<Param name = \" loop \ "value = '0'>"); sb. append ("<Param name = \" numloop \ "value = '0'>"); sb. append ("<Param name = \" center \ "value = '0'>"); sb. append ("<Param name = \" maintainaspect \ "value = '0'>"); sb. append ("<Param name = \" backgroundcolor \ "value = '#000000'>"); sb. append ("</Object>"); sb. append ("<br>"); sb. append ("<object Height = 32 width = '" + width + "'classid = CLSID: CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA>"); sb. append ("<Param name = \" _ extentx \ "value = '000000'>"); sb. append ("<Param name = \" _ extenty \ "value = '000000'>"); sb. append ("<Param name = \" autostart \ "value = '0'>"); sb. append ("<Param name = \" Shuffle \ "value = '0'>"); sb. append ("<Param name = \" prefetch \ "value = '0'>"); sb. append ("<Param name = \" nolabels \ "value = '0'>"); sb. append ("<Param name = \" controls \ "value = 'controlpanel, statusbar'>"); sb. append ("<Param name = \" console \ "value = 'clip'>"); sb. append ("<Param name = \" loop \ "value = '0'>"); sb. append ("<Param name = \" numloop \ "value = '0'>"); sb. append ("<Param name = \" center \ "value = '0'>"); sb. append ("<Param name = \" maintainaspect \ "value = '0'>"); sb. append ("<Param name = \" backgroundcolor \ "value = '#000000'>"); sb. append ("</Object>"); return sb. tostring ();} private string WMA (string URL, int width, int height) {system. text. stringbuilder sb = new system. text. stringbuilder (); sb. append ("<Object ID = \" wmplay \ "classid = \" CLSID: 22d6f312-b0f6-11d0-94ab-0080c74c7e95 \ "style = \" Z-INDEX: 101; left: 40px; width: 240px; position: absolute; top: 32px; Height: 248px \ ">"); sb. append ("<Param name = \" FILENAME \ "value = \" "+ URL +" \ ">"); sb. append ("<Param name = \" playcount \ "value = \" 1 \ ">"); sb. append ("<Param name = \" autostart \ "value = \" 0 \ ">"); sb. append ("<Param name = \" clicktoplay \ "value = \" 1 \ ">"); // sb. append ("<Param name = \" displaysize \ "value = \" 0 \ ">"); sb. append ("<Param name = \" enablefullscreen controls \ "value = \" 1 \ ">"); sb. append ("<Param name = \" showaudio controls \ "value = \" 1 \ ">"); sb. append ("<Param name = \" enablecontext Menu \ "value = \" 1 \ ">"); sb. append ("<Param name = \" showdisplay \ "value = \" 1 \ ">"); sb. append ("</Object>"); return sb. tostring ();} /// <summary> /// play an AVI file /// </Summary> /// <Param name = "url"> </param> /// <returns> </returns> private string AVI (string URL, int width, int height) {system. text. stringbuilder sb = new system. text. stringbuilder (); sb. append ("<Object ID = \" wmplay \ "width = \" 400 \ "Height = \" 200 \ "border = \" 0 \ "classid = \" CLSID: the CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA \ ">"); sb. append ("<Param name = \" showdisplay \ "value = \" 0 \ ">"); sb. append ("<Param name = \" showcontrols \ "value = \" 1 \ ">"); sb. append ("<Param name = \" autostart \ "value = \" 1 \ ">"); sb. append ("<Param name = \" autorewind \ "value = \" 0 \ ">"); sb. append ("<Param name = \" playcount \ "value = \" 0 \ ">"); sb. append ("<Param name = \" appearance value = \ "0 value = \"> "); sb. append ("<Param name = \" borderstyle value = \ "0 value = \"> "); sb. append ("<Param name = \" moviewindowheight \ "value = \" 240 \ ">"); sb. append ("<Param name = \" movie1_wwidth \ "value = \" 320 \ ">"); sb. append ("<Param name = \" FILENAME \ "value = \" "+ URL +" \ ">"); sb. append ("</Object>"); return sb. tostring ();} private string MPG (string URL, int width, int height) {system. text. stringbuilder sb = new system. text. stringbuilder (); sb. append ("<object classid = \" CLSID: 05589fa1-c356-11ce-bf01-00aa0055595a \ "id = \" wmplay \ "width = \" 239 \ "Height = \" 250 \ "> "); SB. append ("<Param name = \" FILENAME \ "value = \" "+ URL +" \ "valuetype = \" Ref \ ">"); sb. append ("<Param name = \" appearance \ "value = \" 0 \ ">"); sb. append ("<Param name = \" autostart \ "value = \"-1 \ ">"); sb. append ("<Param name = \" allowchangedisplaymode \ "value = \"-1 \ ">"); sb. append ("<Param name = \" allowhidedisplay \ "value = \" 0 \ ">"); sb. append ("<Param name = \" allowhidecontrols \ "value = \"-1 \ ">"); sb. append ("<Param name = \" autorewind \ "value = \"-1 \ ">"); sb. append ("<Param name = \" balance \ "value = \" 0 \ ">"); sb. append ("<Param name = \" currentposition \ "value = \" 0 \ ">"); sb. append ("<Param name = \" displaybackcolor \ "value = \" 0 \ ">"); sb. append ("<Param name = \" displayforecolor \ "value = \" 16777215 \ ">"); sb. append ("<Param name = \" displaymode \ "value = \" 0 \ ">"); sb. append ("<Param name = \" enabled \ "value = \"-1 \ ">"); sb. append ("<Param name = \" enablecontextmenu \ "value = \"-1 \ ">"); sb. append ("<Param name = \" enablepositioncontrols \ "value = \"-1 \ ">"); sb. append ("<Param name = \" enableselectioncontrols \ "value = \" 0 \ ">"); sb. append ("<Param name = \" enabletracker \ "value = \"-1 \ ">"); sb. append ("<Param name = \" fullscreenmode \ "value = \" 0 \ ">"); sb. append ("<Param name = \" moviewindowsize \ "value = \" 0 \ ">"); sb. append ("<Param name = \" playcount \ "value = \" 1 \ ">"); sb. append ("<Param name = \" rate \ "value = \" 1 \ ">"); sb. append ("<Param name = \" selectionstart \ "value = \"-1 \ ">"); sb. append ("<Param name = \" selectionend \ "value = \"-1 \ ">"); sb. append ("<Param name = \" showcontrols \ "value = \"-1 \ ">"); sb. append ("<Param name = \" showdisplay \ "value = \"-1 \ ">"); sb. append ("<Param name = \" showpositioncontrols \ "value = \" 0 \ ">"); sb. append ("<Param name = \" showtracker \ "value = \"-1 \ ">"); sb. append ("<Param name = \" volume \ "value = \"-480 \ ">"); sb. append ("</Object>"); return sb. tostring ();} private string RM (string URL, int width, int height) {system. text. stringbuilder sb = new system. text. stringbuilder (); sb. append ("<Object ID = \" wmplay \ "codebase = \" downloads/RealPlayer10-5GOLD_cn0302.exe \ "classid = \" CLSID: CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA \ "Height =" + height + "width =" + width + ">"); sb. append ("<Param name = \" src \ "value = \" "+ URL +" \ ">"); // sb. append ("<Param name = \" _ extentx \ "value = \" 9313 \ ">"); // sb. append ("<Param name = \" _ extenty \ "value = \" 7620 \ ">"); sb. append ("<Param name = \" autostart \ "value = \" 0 \ ">"); sb. append ("<Param name = \" Shuffle \ "value = \" 0 \ ">"); sb. append ("<Param name = \" prefetch \ "value = \" 0 \ ">"); sb. append ("<Param name = \" nolabels \ "value = \" 0 \ ">"); sb. append ("<Param name = \" controls \ "value = \" imagewindow, controlpanel, statusbar \ ">"); sb. append ("<Param name = \" console \ "value = \" clip1 \ ">"); sb. append ("<Param name = \" loop \ "value = \" 0 \ ">"); sb. append ("<Param name = \" numloop \ "value = \" 0 \ ">"); sb. append ("<Param name = \" center \ "value = \" 0 \ ">"); sb. append ("<Param name = \" maintainaspect \ "value = \" 0 \ ">"); sb. append ("<Param name = \" backgroundcolor \ "value = \" #000000 \ ">"); // sb. append ("<embed SRC type = \" audio/X-PN-RealAudio-plugin \ "console = \" clip1 \ "controls = \" imagewindow \ "Height = \" 250 \ "width = \" 354 \ "autostart = \" false \ "> "); SB. append ("</Object>"); return sb. tostring ();} private String SWF (string URL, int width, int height) {system. text. stringbuilder sb = new system. text. stringbuilder (); sb. append ("<object codebase = \" http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab?version=6, 0 \ ""); sb. append ("Height = \" "+ height +" \ "width = \" "+ width +" \ ">"); sb. append ("<Param name = \" flashvars \ "value = \" \ ">"); sb. append ("<Param name = \" movie \ "value = \" "+ URL +" \ ">"); sb. append ("<Param name = \" src \ "value = \" "+ URL +" \ ">"); sb. append ("<Param name = \" wmode \ "value = \" window \ ">"); sb. append ("<Param name = \" Play \ "value = \"-1 \ ">"); sb. append ("<Param name = \" loop \ "value = \"-1 \ ">"); sb. append ("<Param name = \" Quality \ "value = \" High \ ">"); sb. append ("<Param name = \" salign \ "value = \" \ ">"); sb. append ("<Param name = \" Menu \ "value = \" 0 \ ">"); sb. append ("<Param name = \" base \ "value = \" \ ">"); sb. append ("<Param name = \" allowScriptAccess \ "value = \" always \ ">"); sb. append ("<Param name = \" scale \ "value = \" showall \ ">"); sb. append ("<Param name = \" devicefont \ "value = \" 0 \ ">"); sb. append ("<Param name = \" embedmovie \ "value = \" 0 \ ">"); sb. append ("<Param name = \" bgcolor \ "value = \" \ ">"); sb. append ("<Param name = \" swremote \ "value = \" \ ">"); sb. append ("<Param name = \" moviedata \ "value = \" \ ">"); sb. append ("<Param name = \" seamlesstabbing \ "value = \" 1 \ ">"); sb. append ("<embed src = \" "+ URL +" \ "Height = \" "+ height +" \ "width = \" "+ width +" \ "Quality = \ "High \" pluginspage = \ "http://www.macromedia.com/go/getflashplayer\" type = \ "application/X-Shockwave-Flash \" menu = \ "false \"> "); SB. append ("</embed>"); sb. append ("</Object>"); return sb. tostring ();} private string MP3 (string URL, int width, int height) {system. text. stringbuilder sb = new system. text. stringbuilder (); sb. append ("<object classid = \" wmplay \ "codebase = \" inline "type = \" application/X-oleobject \ "width = \" + width + \ "Height = \ "+ height + \" hspace = \ "0 \" standby = \ "loading Microsoft Windows Media Player components... \ "id = \" nsplay \ ">"); sb. append ("<Param name = \" autorewind \ "value = \" 0 \ ">"); sb. append ("<Param name = \" FILENAME \ "value = \" + URL + \ ">"); sb. append ("<Param name = \" showcontrols \ "value = \" 1 \ ">"); sb. append ("<Param name = \" showpositioncontrols \ "value = \" 0 \ ">"); sb. append ("<Param name = \" showaudiocontrols \ "value = \" 1 \ ">"); sb. append ("<Param name = \" showtracker \ "value = \" 0 \ ">"); sb. append ("<Param name = \" showdisplay \ "value = \" 0 \ ">"); sb. append ("<Param name = \" showstatusbar \ "value = \" 1 \ ">"); sb. append ("<Param name = \" showgotobar \ "value = \" 0 \ ">"); sb. append ("<Param name = \" showcaptioning \ "value = \" 0 \ ">"); sb. append ("<Param name = \" autostart \ "value = \" 1 \ ">"); sb. append ("<Param name = \" volume \ "value = \"-2500 \ ">"); sb. append ("<Param name = \" animationatstart \ "value = \" 0 \ ">"); sb. append ("<Param name = \" transparentatstart \ "value = \" 0 \ ">"); sb. append ("<Param name = \" allowchangedisplaysize \ "value = \" 0 \ ">"); sb. append ("<Param name = \" allowscan \ "value = \" 0 \ ">"); sb. append ("<Param name = \" enablecontextmenu \ "value = \" 0 \ ">"); sb. append ("<Param name = \" clicktoplay \ "value = \" 0 \ ">"); sb. append ("</Object>"); return sb. tostring ();} private string IMG (string URL, int width, int height) {system. text. stringbuilder sb = new system. text. stringbuilder (); sb. append (" "); return sb. tostring ();}