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)

相关推荐

  • C#实现的优酷真实视频地址解析功能(2014新算法)

    序:优酷之前更新了次算法(很久之前了,呵呵...),故此很多博客的解析算法已经无法使用.很多大牛也已经更新了新的解析方法.我也在此写篇解析过程的文章.(本文使用语言为C#) 由于优酷视频地址时间限制,在你访问本篇文章时,下面所属链接有可能已经失效,望见谅. 例:http://v.youku.com/v_show/id_XNzk2NTI0MzMy.html 1:获取视频vid 在视频url中标红部分.一个正则表达式即可获取. 复制代码 代码如下: string getVid(string url)

  • C# winform循环播放多个视频

    本文实例为大家分享了winform循环播放多个视频的具体代码,供大家参考,具体内容如下 环境: vs2015 +winform 首先,vs自带组件很方便,所以,用windowMediaplayer组件,如果做单曲循环播放的话,加个属性: axWindowsMediaPlayer1.settings.autoStart = true; //设置自动播放 axWindowsMediaPlayer1.settings.setMode("loop", true); //设置循环播放 言归正传:

  • C#获取视频某一帧的缩略图的方法

    本文实例讲述了C#获取视频某一帧的缩略图的方法.分享给大家供大家参考.具体实现方法如下: 读取方式:使用ffmpeg读取,所以需要先下载ffmpeg.网上资源有很多. 原理是通过ffmpeg执行一条命令获取视频某一帧的缩略图. 首先,需要获取视频的帧高度和帧宽度,这样获取的缩略图才不会变形. 获取视频的帧高度和帧宽度可以参考:http://www.jb51.net/article/57475.htm. 获取到视频的帧高度和帧宽度后,还需要获取缩略图的高度和宽度,这是按比例缩放的. 比如你存放缩略

  • 关于.NET/C#/WCF/WPF 打造IP网络智能视频监控系统的介绍

    OptimalVision网络视频监控系统 OptimalVision(OV)网络视频监控系统(Video Surveillance System),是一套基于.NET.C#.WCF.WPF等技术构建的IP网络视频监控系统.设计与实现该系统的初衷是希望在家用电脑中部署该系统,连接本地或局域网设备,通过浏览器或手机客户端浏览宝宝实时视频,也就是俗称的"宝宝在线"或"家庭看护". 但由于业余时间总是有限,完成系统中的服务.配置.采集.传输和桌面GUI部分后,继续完成后续

  • C#读取视频的宽度和高度等信息的方法

    本文实例讲述了C#读取视频的宽度和高度等信息的方法.分享给大家供大家参考.具体实现方法如下: 读取方式:使用ffmpeg读取,所以需要先下载ffmpeg.网上资源有很多. 通过ffmpeg执行一条CMD命令可以读取出视频的帧高度和帧宽度信息. 运行效果如下图所示: 蓝线框中可以看到获取到的帧高度和帧宽度. 接下来的事情就简单了.构造一个命令,然后执行就ok.我并未测试过所有视频格式,估计常见的格式应该都支持. 执行命令的代码如下: 复制代码 代码如下: /// <summary> /// 执行

  • C#实现语音视频录制-附demo源码

    在很多语音视频软件系统中,经常有将实时的音频或视频录制为文件保存到磁盘的需求,比如,视频监控系统中录制监控到的视频.视频会议系统中录制整个会议的过程.语音通话系统中录制完整的对话内容.等等. MFile组件(Oraycn.MFile.dll)是傲瑞实用组件之一,它可以将原始的语音数据和视频数据按照指定的格式进行编码,并将它们写入到视频文件(如.mp4)中. 一.缘起 最近正在做的一个网络招聘平台的项目,其中有一个模块是这样的,应聘者可以通过该系统的客户端录制自己的视频(自我介绍)上传到服务器,而

  • WinForm实现仿视频播放器左下角滚动新闻效果的方法

    本文实例讲述了WinForm实现仿视频播放器左下角滚动新闻效果的方法.分享给大家供大家参考.具体实现方法如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Syst

  • 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; ///

  • java创建简易视频播放器

    最近有个多媒体的作业,要求使用visualC++和OpenCV编写一个简易的视频播放器,对于C/C++残疾者而言是不可能的,于是萌生了用Java编写的想法.具体经验分享一下. 目标:制作简易视频播放器 开发工具:eclipse4.5.1:VLC2.2.1 具体内容:完成了视频的加载.播放.退出的功能:实现了视频播放过程中控制播放进程:实现播放过程中控制暂停. 最终程序效果图如下: 开发过程参考学习资源: 极客学院视屏教程 Java framework for the vlc media play

  • Python应用03 使用PyQT制作视频播放器实例

    最近研究了Python的两个GUI包,Tkinter和PyQT.这两个GUI包的底层分别是Tcl/Tk和QT.相比之下,我觉得PyQT使用起来更加方便,功能也相对丰富.这一篇用PyQT实现一个视频播放器,并借此来说明PyQT的基本用法.  视频播放器 先把已经完成的代码放出来.代码基于Python 3.5: import time import sys from PyQt4 import QtGui, QtCore from PyQt4.phonon import Phonon class Po

  • Android编程视频播放API之MediaPlayer用法示例

    本文实例讲述了Android编程视频播放API之MediaPlayer用法.分享给大家供大家参考,具体如下: 现在项目要做音视频这块功能,这正是我相对比较薄弱的地方,项目中要用到,赶紧抓紧时间学习.前面有一编介绍不错的文章http://www.jb51.net/article/121881.htm,值得学习. 这里给出一个较为简单的示例: /** * Android API MediaPlayer示例 * * @description: * @author ldm * @date 2016-4-

  • android多媒体类VideoView使用方法详解

    一.概述 VideoView类将视频的显示和控制集于一身,我们可以借助它完成一个简易的视频播放器.VideoView和MediaPlayer也比较相似. 二.VideoView的使用方法 它主要有以下几种常用方法 步骤: 1.指定视频文件的路径, 2.接下来调用start()方法就可以开始播放视频,pause()方法就会暂停播放,resume()方法就会重新播放 注:获取视频文件也需要运行时权限,所有相关逻辑也需要写.       最后不要忘记在AndroidManifest.xml文件中声明用

  • 教你轻松制作java视频播放器

    前言 跳过废话,直接看正文 当年入坑Java是因为它的跨平台优势.那时我认为,"编写一次,处处运行."这听上去多么牛逼,应该是所有语言发展的终极之道,java势必会一统天下. 然而事实证明,那时的我还是太年轻. 正所谓鱼和熊掌不可兼得,若要享受跨平台带来的方便,便不可避免地要接受性能上的不足.事实上,java一直在致力于提高虚拟机的性能(JIT等技术),但面对对实时计算性能要求很高或涉及到用硬件优化的任务(视频的硬件编码.解码)时,仍远远比不上c或c++.因此,很少能够看到有人用jav

  • Android多媒体之VideoView视频播放器

    本文实例为大家分享了视频播放器的两种方式,供大家参考,具体内容如下 1).SurfaceView 在布局文件中 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/too

  • Android View类与SurfaceView类详解

    Android游戏开发中主要的类除了控制类就是显示类,比较重要也很复杂的就是显示和游戏逻辑的处理.在J2ME中可以通过Display和Canvas来实现显示,而Android中处理显示的是View类.下面为大家简单介绍android.view.View和android.view.SurfaceView. SurfaceView是从View基类中派生出来的显示类,直接子类有GLSurfaceView和VideoView,可以看出GL和视频播放以及Camera摄像头一般均使用SurfaceView,

  • 详解iOS视频播放方式

    多媒体这整个系列的文章自己也准备好开始整理了,先从视频音频最简单也是最常用的播放出发慢慢的往下深究,探索到底层的编码解码等等,这篇文章就从视频的播放这个最简单的说起. iOS的视频播放方式有几种?其实要是只是简单的想播放一段视频并且对UI没什么要求的话的确比较简单,很容易搞定,但我相信这种情况除了你的Demo一般是不会出现的,对播放UI的定义以及可能有各种不同的需求对应着你是不能随便写个播放器就没事了的. 最原始的播放 要不是刚接触iOS开发的同学应该是知道MediaPlayer这个框架的,要是

  • Opencv实现视频播放与进度控制

    视频画面本质上是由一帧一帧的连续图像组成的,播放视频其实就是在播放窗口把一系列连续图像按一定的时间间隔一幅幅贴上去实现的. 人眼在连续图像的刷新最少达到每秒24帧的时候,就分辨不出来图像间的闪动了,使人感觉呈现出来的是连续的画面,视频的播放就是利用了这一点.我们知道,电影被称为"24帧的艺术",意思就是电影画面每秒刷新24帧,即每秒显示24副图像,它的帧率(Frames per Second,简称:FPS)为24. 一般情况下帧率要大于等于24,以下先测试一下两个视频文件的帧率,一个是

随机推荐