C#视频播放类

 using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

/// <summary>
/// PlayClass 的摘要说明
/// </summary>
namespace   ConfigTools  
  {  
  ///   <summary>  
  ///   PlayClass   的摘要说明。  
  ///原作CSDN,经本人稍加修改  
  ///   </summary>  
  public   class   PlayClass  
  {  
  public   PlayClass()  
  {  
      //  
      //   TOD   在此处添加构造函数逻辑
      //  
  }  
  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  
      {  
      return   "数据错误";  
      }        
  }  
   
   
  ///   <summary>  
  ///   wmv格式文件播放  
  ///   </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   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   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 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,29,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=/"http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715/"   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("<img   src=/"" + url + "/"   height=/"" + height + "/"   width=/"" + width + "/"   border=/"0/">");
      return sb.ToString();
  }
}


}  

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
C#中,可以使用OpenCVSharp库来实现PictureBox播放视频的功能。以下是实现该功能的步骤: 1. 首先,需要安装OpenCVSharp库。可以在NuGet包管理器中搜索并安装OpenCVSharp4。 2. 在窗体中添加一个PictureBox控件,并设置其大小和位置。 3. 在代码中导入OpenCVSharp的命名空间。 4. 使用VideoCapture打开视频文件,并使用Mat读取每一帧图像。 5. 将读取到的图像转换为Bitmap格式,并将其赋值给PictureBox的Image属性。 6. 在需要的时候,可以使用Graphics在PictureBox上绘制方框。 以下是示例代码: ```csharp using OpenCvSharp; using System; using System.Drawing; using System.Windows.Forms; namespace VideoPlayer { public partial class Form1 : Form { private VideoCapture capture; private Mat frame; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { capture = new VideoCapture("video.mp4"); frame = new Mat(); timer1.Interval = 33; // 设置定时器间隔为33毫秒,即每秒30帧 timer1.Start(); } private void timer1_Tick(object sender, EventArgs e) { capture.Read(frame); // 读取一帧图像 if (!frame.Empty()) { Bitmap bitmap = BitmapConverter.ToBitmap(frame); // 将Mat转换为Bitmap pictureBox1.Image = bitmap; // 显示图像 } } private void pictureBox1_Paint(object sender, PaintEventArgs e) { // 在PictureBox上绘制方框 e.Graphics.DrawRectangle(Pens.Red, new Rectangle(100, 100, 200, 200)); } } } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值