方法:创建视频播放器播放类用于播放器的创建或调用,根据不同格式创建或调用不同播放器。下面是收集的常见的几种播放器创建代码供大家参考:
这些内容在Asp.net后台实现,较javascript下创建较安全。
/// <summary>
/// flv格式文件播放
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
private static string flv(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=10,0,22,87\" ");
sb.Append("classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" ");
sb.Append(" height=\"" + height + "\" width=\"" + width + "\" >");
sb.Append("<param name=\"FlashVars\" value=\"vcastr_file=" + url + "&LogoText=www.ctpad.net&BufferTime=3&IsAutoPlay=1\">");
sb.Append("<param name=\"Movie\" value=\"http://10.2.20.146/RethinkV2/Flvplayer.swf\">");
sb.Append("<param name=\"allowFullScreen\" value=\"true\">");
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("<param name=\"Profile\" value=\"0\">");
sb.Append("<param name=\"ProfileAddress\" value=\"\">");
sb.Append("<param name=\"ProfilePort\" value=\"0\">");
sb.Append("<embed src=\"http://10.2.20.146/RethinkV2/Flvplayer.swf\" flashvars=\"vcastr_file=" + url + "&LogoText=www.ctpad.net\" 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();
}
注意:上述代码中的flvplayer.swf为制定的flv播放器。可以自行更换播放器,给出引用的url即可。
/// <summary>
/// wmv格式文件播放
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
private static 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,StatusBar\">\n");
//sb.Append("<param name=\"hidden\" value=\"1\">");
sb.Append("<param name=\"ShowControls\" value=\"1\">\n");
sb.Append("<param name=\"rate\" value=\"1\">\n");
sb.Append("<param name=\"balance\" value=\"0\">\n");
sb.Append("<param name=\"currentPosition\" value=\"0\">\n");
sb.Append("<param name=\"defaultFrame\" value=\"\">\n");
sb.Append("<param name=\"playCount\" value=\"0\">\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=\"uiMode\" value=\"full\">\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("<param name=\"ShowStatusBar\" value=\"1\">\n");
//是否显示当前播放跟踪条,即当前的播放进度条
sb.Append("<param name=\"ShowTracker\" value=\"1\">\n");
sb.Append("</object><br>\n");
return sb.ToString();
}
private static 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>
/// avi格式文件播放
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
private static 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: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=\"MovieWindowWidth\" value=\"320\">");
sb.Append("<param name=\"FileName\" value=\"" + url + "\">");
sb.Append("</object>");
return sb.ToString();
}
private static 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 static 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 static 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=10,0,22,87\" ");
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();
}
播放器创建的时候通过构造函数和视频文件后缀名来确定创建对应播放器。
public static string Play(string url, int width, int height)
{
string strTmp = url.ToLower();
//switch更好
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(".swf"))
{
return swf(url, width, height);
}
else if (strTmp.EndsWith(".flv"))
{
return flv(url, width, height);
}
else if (strTmp.EndsWith(".rm"))
{
return rm(url, width, height);
}
else
{
return "视频文件数据错误";
}
}
调用方法:
前台:<div id="video_content" runat="server" style=""></div>
后台:this.video_content.InnerHtml = Player.Play(VideoURL, 600, 450);