1. C#播放器控件常用的方法介绍

右击工具箱->选择项(I)... -> 显示"选择工具箱项" -> COM组件 -> Windows Media Player   wmp.dll 添加

[基本属性]  
URL:String; 指定媒体位置,本机或网络地址
uiMode:String; 播放器界面模式,可为Full, Mini, None, Invisible(不计大小写)
playState:integer; 播放状态。这个属性改变时同时引发PlayStateChange事件与StateChange事件。取值范围为枚举型:WMPLib.WMPPlayState,它的成员如下:wmppsUndefined = 0;   //未知状态wmppsStopped = 1;    //播放停止wmppsPaused = 2;     //播放暂停wmppsPlaying = 3;     //正在播放wmppsScanForward = 4;   //向前搜索wmppsScanReverse = 5;   //向后搜索wmppsBuffering = 6;     //正在缓冲wmppsWaiting = 7;      //正在等待流开始wmppsMediaEnded = 8;    //播放流已结束wmppsTransitioning = 9;    //准备新的媒体文件wmppsReady = 10;      //播放准备就绪wmppsReconnecting = 11;   //尝试重新连接流媒体数据wmppsLast = 12;       //上一次状态,状态没有改变在PlayStateChange中写代码可以防止播放rmvb等非默认类型的问题(用wmppsReady)。enableContextMenu:Boolean;    启用/禁用右键菜单fullScreen:boolean;         是否全屏显示//播放器基本控制Ctlcontrols.play; 播放Ctlcontrols.pause; 暂停Ctlcontrols.stop; 停止Ctlcontrols.currentPosition:double; 当前进度Ctlcontrols.currentPositionString:string; 当前进度,字符串格式。如“00:23”Ctlcontrols.fastForward; 快进Ctlcontrols.fastReverse; 快退Ctlcontrols.next; 下一曲Ctlcontrols.previous; 上一曲[settings] wmp.settings //播放器基本设置settings.volume:integer; 音量,0-100settings.autoStart:Boolean; 是否自动播放settings.mute:Boolean; 是否静音settings.playCount:integer; 播放次数//顺序播放wmp.settings.setMode("shuffle", False)//随机播放wmp.settings.setMode("shuffle", True)//循环播放wmp.settings.setMode("loop", True)[currentMedia] wmp.currentMedia //当前媒体属性
currentMedia.duration:double; 媒体总长度
currentMedia.durationString:string; 媒体总长度,字符串格式。如“03:24”
currentMedia.getItemInfo(const string); 获取当前媒体信息"Title"=媒体标题,"Author"=艺术家,"Copyright"=版权信息,"Description"=媒体内容描述, "Duration"=持续时间(秒),"FileSize"=文件大小,"FileType"=文件类型,"sourceURL"=原始地址
currentMedia.setItemInfo(const string); 通过属性名设置媒体信息
currentMedia.name:string; 同 currentMedia.getItemInfo("Title")

基本设置实例:

axWindowsMediaPlayer1.windowlessVideo = false;   //设为false后双击屏幕可以全屏
axWindowsMediaPlayer1.fullScreen = true; //设播放器全屏播放axWindowsMediaPlayer1.URL = @"mms://192.168.0.102/vod/jingwei.wma";//播放资源axWindowsMediaPlayer1.Ctlcontrols.play();        //播放
axWindowsMediaPlayer1.Ctlcontrols.stop();        //停止
axWindowsMediaPlayer1.Ctlcontrols.pause();       //暂停axWindowsMediaPlayer1.settings.autoStart = true;     //自动播放axWindowsMediaPlayer1.settings.mute = false;         //静音
axWindowsMediaPlayer1.settings.volume = 100;      // 音量 int 0 ~ 100   100 是最大音量axWindowsMediaPlayer1.currentMedia.duration.ToString();//影片长度
axWindowsMediaPlayer1.Ctlcontrols.currentPosition = 30; //当前的播放位置 doubleaxWindowsMediaPlayer1.currentMedia.getItemInfo("Title");//标题
axWindowsMediaPlayer1.currentMedia.getItemInfo("Author");//作者

全屏控制实例代码:

using System.IO;
using WMPLib; public videoPlay(){InitializeComponent();//全屏设置及隐藏鼠标this.WindowState = FormWindowState.Maximized;this.FormBorderStyle = FormBorderStyle.None;//Cursor.Hide();//播放器全屏Rectangle screenSize = System.Windows.Forms.SystemInformation.VirtualScreen;//获取屏幕的宽和高this.panel1.Location = new System.Drawing.Point(0, 0);this.panel1.Size = new System.Drawing.Size(screenSize.Width,screenSize.Height);this.axWindowsMediaPlayer1.Location = new System.Drawing.Point(0, 0);this.axWindowsMediaPlayer1.Size = new System.Drawing.Size(screenSize.Width, screenSize.Height);//播放器设置axWindowsMediaPlayer1.uiMode = "None";//播放器样式axWindowsMediaPlayer1.stretchToFit = true;//非全屏状态时是否伸展到最佳大小 axWindowsMediaPlayer1.enableContextMenu = false;//禁用播放器右键菜单}private IWMPPlaylist videoList;//创建播放列表private bool ifLoop = true;//视频是否循环//设置是否循环播放public bool IfLoop{get { return ifLoop; }set { ifLoop = value; }}//播放状态改变时发生private void axWindowsMediaPlayer1_StatusChange(object sender, EventArgs e){//判断视频是否已停止播放  if ((int)axWindowsMediaPlayer1.playState == 1){//停顿2秒钟再重新播放  //System.Threading.Thread.Sleep(2000);//重新播放  //axWindowsMediaPlayer1.Ctlcontrols.play();}}//播放public void videoStart(){axWindowsMediaPlayer1.Ctlcontrols.play();}//列表播放public void videoListStart(){videoPlayList();//重新获取播放列表axWindowsMediaPlayer1.Ctlcontrols.play();}//暂停public void videoPause(){axWindowsMediaPlayer1.Ctlcontrols.pause();}//重播public void videoReplay(){videoStop();videoStart();}//列表重播public void videoListReplay(){axWindowsMediaPlayer1.currentPlaylist = videoList;//重新载入播放列表videoStart();}//停止播放public void videoStop() {            //axWindowsMediaPlayer1.currentPlaylist.clear();//清除列表axWindowsMediaPlayer1.Ctlcontrols.stop();}//视频静音public void videoMute(bool t){axWindowsMediaPlayer1.settings.mute = t;}//播放下一个视频public void videoNext(){//判断当前所播放的视频是否是列表的最后一个if (axWindowsMediaPlayer1.currentMedia.name == axWindowsMediaPlayer1.currentPlaylist.Item[axWindowsMediaPlayer1.currentPlaylist.count - 1].name){}else{axWindowsMediaPlayer1.Ctlcontrols.next();//播放下一个}}//播放上一个媒体public void videoPrevious(){  //判断当前所播放的视频是否是列表的第一个if (axWindowsMediaPlayer1.currentMedia.name == axWindowsMediaPlayer1.currentPlaylist.Item[0].name){}else{axWindowsMediaPlayer1.Ctlcontrols.previous();//播放上一个}}//获取播放类表及初始化public void videoPlayList() {videoList = axWindowsMediaPlayer1.playlistCollection.newPlaylist("one");//创建播放列表string path = @".\data\video";//媒体路径DirectoryInfo dir = new DirectoryInfo(path);foreach (FileSystemInfo fsi in dir.GetFileSystemInfos()){if (fsi is FileInfo){FileInfo fi = (FileInfo)fsi;videoList.appendItem(axWindowsMediaPlayer1.newMedia(fi.FullName));}}axWindowsMediaPlayer1.currentPlaylist = videoList;//查找到视频、播放类表axWindowsMediaPlayer1.settings.setMode("loop", ifLoop);//设置类表循环播放}

2. C#调用WMP播放一个文件夹的文件

//播放列表
WMPLib.IWMPPlaylist playlist = null;
playlist = MediaPlayer.playlistCollection.newPlaylist("palylist");//播放列表添加项 , 而且从刚添加的项开始播放playlist.appendItem(MediaPlayer.newItem(file_address));
MediaPlayer.currentPlaylist = playlist;
//oldCount是添加之前的数量,添加之后playlist.Item[oldCount]即为添加的第一项
MediaPlayer.Ctlcontrols.currentItem = playlist.Item[oldCount];PlayMusic()

//当前播放项 属性
//title:标题 , 是mp3文件里面内嵌的信息SourceURL : 文件地址
MediaPlayer.currentMedia.getItemInfo("title");当前项的总时间:
MediaPlayer.currentMedia.duration  //double类型
MediaPlayer.currentMedia.durationString  //string类型,是格式化好的几分几秒当前进度:
MediaPlayer.Ctlcontrol.currentPosition //double类型
MediaPlayer.Ctlcontrol.currentPositionString //string类型,是格式化好的几分几秒//mediaPlayer控制播放的,全在Ctlcontrol里面

3. C# winform从右下角弹窗

/// <summary>
/// 窗体动画函数    注意:要引用System.Runtime.InteropServices;
/// </summary>
/// <param name="hwnd">指定产生动画的窗口的句柄</param>
/// <param name="dwTime">指定动画持续的时间</param>
/// <param name="dwFlags">指定动画类型,可以是一个或多个标志的组合。</param>
/// <returns></returns>[DllImport("user32")]  private static extern bool AnimateWindow(IntPtr hwnd, int dwTime, int dwFlags);  //下面是可用的常量,根据不同的动画效果声明自己需要的  private const int AW_HOR_POSITIVE = 0x0001;//自左向右显示窗口,该标志可以在滚动动画和滑动动画中使用。使用AW_CENTER标志时忽略该标志  private const int AW_HOR_NEGATIVE = 0x0002;//自右向左显示窗口,该标志可以在滚动动画和滑动动画中使用。使用AW_CENTER标志时忽略该标志  private const int AW_VER_POSITIVE = 0x0004;//自顶向下显示窗口,该标志可以在滚动动画和滑动动画中使用。使用AW_CENTER标志时忽略该标志  private const int AW_VER_NEGATIVE = 0x0008;//自下向上显示窗口,该标志可以在滚动动画和滑动动画中使用。使用AW_CENTER标志时忽略该标志该标志  private const int AW_CENTER = 0x0010;//若使用了AW_HIDE标志,则使窗口向内重叠;否则向外扩展  private const int AW_HIDE = 0x10000;//隐藏窗口  private const int AW_ACTIVE = 0x20000;//激活窗口,在使用了AW_HIDE标志后不要使用这个标志  private const int AW_SLIDE = 0x40000;//使用滑动类型动画效果,默认为滚动动画类型,当使用AW_CENTER标志时,这个标志就被忽略  private const int AW_BLEND = 0x80000;//使用淡入淡出效果  private void FrmMsg_Load(object sender, EventArgs e)  {  int x = Screen.PrimaryScreen.WorkingArea.Right - this.Width;  int y = Screen.PrimaryScreen.WorkingArea.Bottom - this.Height;  this.Location = new Point(x, y);//设置窗体在屏幕右下角显示  AnimateWindow(this.Handle, 1000, AW_SLIDE | AW_ACTIVE | AW_VER_NEGATIVE);  }  private void FrmMsg_FormClosing(object sender, FormClosingEventArgs e)  {  AnimateWindow(this.Handle, 1000, AW_BLEND | AW_HIDE);  }

  

转载于:https://www.cnblogs.com/yanniu/p/5968423.html

C# WMP 视频播放相关推荐

  1. C# 视频播放控件 wmp、vlc、aplayer

    1.Windows Media Player C#学习之路WindowsMediaPlayer详解- 知其所以然- CSDN博客 2.vlc 自定义基于 VLC 的视频播放器 how to use v ...

  2. C#中实现视频播放器窗体程序(附源码下载)

    场景 效果 实现 新建窗体程序,然后从工具箱中拖拽DataGridView控件,然后在控件右上角点击新增列,设置好每列 的Name属性和Headertext属性. 新建Video类 项目-右击-新增- ...

  3. OpenCV实现基于图像内容检索--视频播放(上)

    最近要交个小作业,恰好刚开了博客园的博客,就想着把这个记下来当是做点笔记)=.=(,做的小作业的题目是基于图像内容的内容检索,先从基础的一步一步来,这部分主要是讲包括OpenCV和使用ActiveX控 ...

  4. 【音视频零基础入门 1】视频播放器原理、流媒体协议、封装格式、视频编码、音频编码

    [音视频零基础入门 1]视频播放器原理.流媒体协议.封装格式.视频编码 一.视频播放器原理 1.1 解协议 1.2 解封装 1.3 解码 1.4 视音频同步 二.流媒体协议 三.封装格式 四.封装格式 ...

  5. 音视频播放器关键技术探讨

    1. 常用播放器介绍 目前,市面上存在为数众多的各种各样媒体播放器,即使是被广泛使用的播放器也超过10种.这些播放器有公司的产品,也有个人爱好者出于自身兴趣推出的作品:有收费的,也有不少是免费的.目前 ...

  6. 基于WMP控件编程(属性)

    http://blog.csdn.net/kingmax54212008/article/details/7178495 windows media player 控件在我们编程时经常要用到,但是有很 ...

  7. 视频播放器的新选择——Mplayer WW编译版

    在细说Mplayer WW版之前,先说一下我之前试用的几款视频播放器. 使用时间最长--K-Lite Mega Code Pack.无捆绑,全格式支持,无需设置即可使用,附带多个配置工具,可选用Med ...

  8. 什么视频播放器最好用?

    这年头视频播放器太多了,很老的像什么超级解霸,广告多的烦人的像暴风影音,专心搞收费的像RealPlayer,在线看的比如快播.PPS等,还有一些不太常用的如QuickTime等等等等,所以本文只简单介 ...

  9. java jsp html嵌入视频播放器

    在最近一个项目中需要简单的流媒体视频播放,经过一番搜索后找到一些合适的播放器及代码,在此记录并分享给大家. 由于仅需播放一些简单的格式因此不需要视频解码服务器. 1.播放rm.rmvb则需要vlc或r ...

  10. python开发视频播放器_python视频播放器

    广告关闭 100GB直播流量包仅需9.9元,10TB点播流量包仅需999元,参与活动还赠移动直播SDK,短视频SDK,小程序插件等,大促100%中奖率 最近研究了python的两个gui包,tkint ...

最新文章

  1. Java多态性Polymorphic
  2. pkg-config简介 pkgconfig
  3. 并发下常见的加锁及锁的PHP具体实现-转载
  4. mui ajax 传递base64,HTML5 MUI 手机预览图片,裁剪上传base64,保存数据库
  5. Unity3D学习笔记之五为Prefab添加材质
  6. 计算机会计系统审计的内容包括什么,会计电算化系统审计.docx
  7. ARMLINUX学习笔记(二)
  8. 阿里云运行python项目_荐个人博客开发-06:Nginx + uWSGI + Django项目部署到阿里云服务器运行...
  9. 最短路最小生成树水题
  10. flutter html 加载_实操 | 在 Flutter 中创建通信桥
  11. Windows 10 使用Easy Sysprep V5 新版封装软件的图文封装教程
  12. word图片另存为变黑色_五种方法可将Word文档转换成图片文件
  13. Sklearn 中的可用数据集
  14. 如何将OnlyOffice与NextCloud集成
  15. 单片微型计算机频率测量实验,毕业论文:频率计系统设计
  16. 输入身份证判断性别python最后一位是英文怎么写_身份证号码最后一位,是表示性别用的吗?...
  17. Spring AOP组合使用多个切入点表达式
  18. 简单理解椭圆曲线的非对称加密应用
  19. AWS 中文入门开发教学 35- MySQL@RDS - 建立MySQL数据库服务
  20. 什么是PACS系统? 其特点是什么? PACS系统应该具有哪些功能?

热门文章

  1. 大话spring~spring那些事
  2. 现在流行的少儿编程是不是再收大家的智商税?来看看最中肯的回答
  3. Allegro PCB 转 PADS Layout 之后的修修补补
  4. EOF 键盘输入end of file
  5. 不同速度流体的剪切形成不同尺度的漩涡,看起来很像分形。
  6. JAVA实现饭店点菜系统详解
  7. 对公司的建议_工作总结
  8. scipy.ndimage.measurements label理解
  9. 小白日更第二十九天->DNS域名解析
  10. 异星工厂服务器无响应,异星工厂无法联机解决方法 异星工厂无法联机怎么办...