C# Winform使用Windows Media Player播放多媒体整理
一、简单使用示例步骤
1.添加Windows Media Player 组件当前是系统的 Com组件
工具箱》右键“选择项”》选择Com组件

2.控件拖拽到桌面,使用
private void button1_Click(object sender, EventArgs e)
{
//播放开始声音
axWindowsMediaPlayer2.URL = "start.mp3"; //指定音频文件
axWindowsMediaPlayer2.settings.volume = ;//指定音量
axWindowsMediaPlayer2.Ctlcontrols.play();//开始播放
}
播放状态监听
//播放状态监听
axWindowsMediaPlayer1.PlayStateChange += (eSender, eState) =>
{
if (WMPLib.WMPPlayState.wmppsMediaEnded.GetHashCode() == eState.newState)
{
axWindowsMediaPlayer1.close(); //结束播放,释放文件
}
};
二、更多使用说明
| Media player控件基本使用步骤如下:
属性/方法名说明: [基本属性] uiMode:String; 播放器界面模式,可为Full, Mini, None, Invisible(不计大小写) playState:integer; 播放状态。这个属性改变时同时引发PlayStateChange事件与StateChange事件。 取值范围为枚举型:WMPLib.WMPPlayState,它的成员如下: wmppsUndefined = 0; //未知状态 enableContextMenu:Boolean; 启用/禁用右键菜单 fullScreen:boolean; 是否全屏显示 //播放器基本控制 Ctlcontrols.play; 播放 [settings] wmp.settings //播放器基本设置 settings.volume:integer; 音量,0-100 [currentMedia] wmp.currentMedia //当前媒体属性 currentMedia.duration:double; 媒体总长度 [currentPlaylist] wmp.currentPlaylist //当前播放列表属性 currentPlaylist.count:integer; 当前播放列表所包含媒体数 在视频播放之后,可以通过如下方式读取源视频的宽度和高度,然后设置其还原为原始的大小. 打开媒体文件并播放: Dim filePath As String 注意:在上面程序中,如果在后面加上一个: msgbox(AxWindowsMediaPlayer1.currentMedia.duration.ToString ) 则显示结果很可能为0,因此,这时候很可能获取不到文件的播放时间长度,容易出错。所以在利用的时候可以加一个timer控件: Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick 此时msgbox便会显示文件播放长度。 2. Ctlcontrols属性 Ctlcontrols属性是AxWindowsMediaPlayer的一个重要属性, 此控件中有许多常用成员。 使用WMP的常见问题: 一、升级wmp后,再拖windows media player控件至窗体出错的问题(至今没解决,应当是修改工程序文件,用文本编辑器) 二、播放rmvb/rm等非官方格式文件要先双击文件再点播放按钮,而不能直接播放的问题,并弹出消息框:Windows Media Player下载文件遇到问题。有关帮助信息请单击“Web帮助”。消息下面两个按钮:关闭、Web帮助。我没有找到出现这个问题的官方说明。我个人意 见,这是因为wmp默认只播能播放官方指定的几种类型的媒体。如果不是,wmp会试图下载对应的解码器来播放。而这个下载过程失败了,所以弹出这个消息 框。wmp好像没有去判断这个解码器是否已经存在。但是,如果你再点播放的话,又能播放,这是什么原因呢?应当是wmp在这次会试图搜索本机上的解码器以 图播放媒体。怎样解决这个点两次鼠标的问题呢?如下: 先设置属性:wmp.settings.enableErrorDialogs = false;事实上这个属性默认就是false。不用设置。 private void wmp_PlayStateChange(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e) 三、怎样获得一个媒体文件中的信息,并且修改媒体的一些信息? 有办法:AxWindowsMediaPlayer.newMedia(filename),它会创建一个IWMPMedia的实例。用它的setItemInfo就成了。至于有哪些信息可供设置,可去msdn中查,里面列举了所有相关信息。 四、IWMPPlayList是不是鸡肋???????? 五、播放器控件有几个组成部分,可有隐藏其中相关部分的方法? 媒体播放器包括如下元素: 就是这么几个部分,网上有资料说控件提供方法控制它们显示与否,但是我在sdk中并没有找到它们。唯一可以粗略控制它们的就是uiMode属性。它的取值前面有。 六、控件的网络设置,如设置代理、缓冲次数、缓冲时间等信息在哪设置? AxWindowsMediaPlayer.netWork。它是IWMPNetWork的实例。 七、像暴风有字幕相关信息的设置,wmp控件有这个功能吗? 当然有。就是AxWindowsMediaPlayer.closedCaption。它是IWMPClosedCaption的实例。 |
C# Winform使用Windows Media Player播放多媒体整理的更多相关文章
- C# WinForm 添加Windows Media Player 控件调试出现未能加载文件或程序集Interop.WMPLib,该怎么解决
C# WinForm 添加Windows Media Player 控件调试出现未能加载文件或程序集Interop.WMPLib如标题,在窗体中添加Windows Media Player 控件,当调 ...
- windows media player 播放视频
一.新建windows应用程序项目,添加vedioForm窗体 二.在com组件中找到windows media player,添加引用 三.代码如下: public partial class Ve ...
- Windows Media Player播放视频导致程序闪退
在有的电脑上发现,使用Windows Media Player组件播放视频导致程序闪退. 发现是显卡问题,独立显卡换成集成显卡 解决: 打开显卡控制面板->管理3D设置->集成图形-> ...
- winform中的Windows Media Player播放器设置
namespace WindowsMediaPlayer{ public partial class Form1 : Form { Form2 form2;//声明from2窗体 public For ...
- windows media player 中播放pls的方法
windows media player目前只能播放 wpl 和 asm格式的列表文件.而linux下mplayer和vlc支持的pls,很遗憾没法支持. 不过,老外写了个“open pls in w ...
- win7自带windows media player 已停止工作
解决方法如下: 在计算机开始,菜单找到控制面板 ,然后打开程序和功能,选择打开或关闭window功能,媒体功能.再取消windows Media Center Windows MediaPlayer选 ...
- C#中Windows Media Player控件使用实例|方法
Windows Media Player控件Windows Media Player是一种媒体播放器,可以播放当前最流行的音频.视频文件和大多数混合型的多媒体文件.为了便于程序的开发,Visual S ...
- winform播放视频(windows media player)
1.找到windows media player 工具箱常规下边右键,右键弹窗点击“选择项”,选择工具箱窗口点击“COM组件”,找到 Windows Media Player 勾选,点击确定 2.使用 ...
- Windows Media Player安装了却不能播放网页上的视频
前段时间遇到Windows Media Player安装了却不能播放网页上的视频的问题,在网上查找资料时,发现大部分资料都没能解决我这个问题.偶尔试了网上一牛人的方法,后来竟然解决了.现在再找那个网页 ...
随机推荐
- nssm部署.net core console到windows服务
轻便式发布 与.net fx不同 需要dotnet.exe来引导 Path:默认为 C:\Program Files\dotnet\dotnet.exe: Startup directory:程序所在 ...
- 做生活的有心人——xxx系统第一阶段总结
2017秋,桃子已经步入大学三年级了,觉得格外幸运 因为现在,有了学习的动力. 如果你和我一样也是在大学中后部分才意识到,自己是个大人了,思维模式开始转变开始融入一些前所未有的认知,觉得自己渺小得如沧 ...
- Python交互图表可视化Bokeh:4. 折线图| 面积图
折线图与面积图 ① 单线图.多线图② 面积图.堆叠面积图 1. 折线图--单线图 import numpy as np import pandas as pd import matplotlib.py ...
- Sleep,Hibernate and Hybrid
Sleep is a power-saving state that allows a computer to quickly resume full-power operation (typical ...
- Scala-Unit5-Scala面对对象与模式匹配
Java中的面向对象:万物皆对象. 我们要封装数据,定义模板等操作,素以我们需要面向对象. ====================================================== ...
- 更新pip和setuptools
python -m pip install -U pip setuptools
- Python并发复习1 - 多线程
一.基本概念 程序: 指令集,静态, 进程: 当程序运行时,会创建进程,是操作系统资源分配的基本单位 线程: 进程的基本执行单元,每个进程至少包含一个线程,是任务调度和执行的基本单位 > 进程和 ...
- Django的MVT模型
MVC模型和MVT模型 MVC简介: MVC的全拼为Model-View-Controller,最早由TrygveReenskaug在1978年提出,是施乐帕罗奥多研究中心(Xerox PARC)在2 ...
- ROWNUM = 1 to replace count(*)
For a long time, I have been using the EXISTS clause to determine if at least one record exists in a ...
- 9. Fizz Buzz 问题
Description Given number n. Print number from 1 to n. But: when number is divided by 3, print " ...