C# 调用Widows MediaPlayer方法以及可能出现错误处理
来源:互联网 发布:数据库订单管理系统 编辑:程序博客网 时间:2024/06/05 15:59
右键点击工具箱中某个选项卡-->选择项...-->然后在com组件中找到windows media player在前面的复选框中打钩,然后点击确定就能把该控件添加到选项卡里了,使用方法跟其他控件一样,直接拖放到from中就可以了
如果找不到或是出现错误“自动注册失败”时:
处理一:
可能是操作系统的原因,你的系统是64位的吧?我也郁闷了一天,最后注册了一下64位的wmp.dll就可以了,具体步骤如下:
打开命令行界面;
切换到C:\Windows\SysWOW64目录;
注册wmp.dll;
截图如下:
处理二:
如果你的电脑本身就是32位的操作系统,那么操作如下:
一、打开CMD命令执行界面
二、输入:
c:
cd: C:\Windows\System 32
regsvr32 wmp.dll 即可
以上步骤完成后就可以使用Windows自带的播放器了
使用方法:
- public partial class VedioForm : Form
- {
- private AxWMPLib.AxWindowsMediaPlayer axWindowsMediaPlayer1;
- public VedioForm()
- {
- InitializeComponent();
- }
- private void VedioForm_Load(object sender, EventArgs e)
- {
- InitVedioUrl();
- InitEvent();
- }
- //初始化播放控件的视频文件地址
- protected void InitVedioUrl()
- {
- this.axWindowsMediaPlayer1.URL = @"D:/Vedio/default.wmv";
- }
- protected void InitEvent()
- {
- axWindowsMediaPlayer1.StatusChange += new EventHandler(axWindowsMediaPlayer1_StatusChange);
- }
- //通过控件的状态改变,来实现视频循环播放
- protected void axWindowsMediaPlayer1_StatusChange(object sender, EventArgs e)
- {
- //判断视频是否已停止播放
- if ((int)axWindowsMediaPlayer1.playState == 1)
- {
- //停顿2秒钟再重新播放
- System.Threading.Thread.Sleep(2000);
- //重新播放
- axWindowsMediaPlayer1.Ctlcontrols.play();
- }
- }
- }
- }
其他控制函数:
[基本属性]
URL:string 可以指定媒体位置
enableContextMenu:Boolean 显示/不显示播放位置的右键菜单
fullScreen:boolean 全屏显示
stretchToFit:boolean 非全屏状态时是否伸展到最佳大小
uMode:string 播放器的模式,full:有下面的控制条; none:只有播放部份没有控制条
playState:integer 当前控件状态,状态变化时会触发OnStatusChange事件
[controls]
可通过WindowsMediaPlayer.controls对播放器进行控制并取得相关的一些信息:
controls.play; 播放
controls.stop; 停止
controls.pause; 暂停
controls.currentPosition:Double 当前播放进度
controls.currentPositionString:string 时间格式的字符串 “0:32″
[currentMedia]
可以通过WindowsMediaPlayer.currentMedia取得当前媒体的信息
currentMedia.duration Double 总长度
currentMedia.durationString 时间格式的字符串 “4:34″
[settings]
可以通过WindowsMediaPlayer.settings对播放器进行设置,包括音量和声道等。
settings.volume:integer 音量 (0-100)
settings.balance:integer 声道,通过它应该可以进行立体声、左声道、右声道的控制。
Media Player Player.playState获取播放状态事件
Value State Description
0 Undefined Windows Media Player is in an undefined state.(未定义)
1 Stopped Playback of the current media item is stopped.(停止)
2 Paused Playback of the current media item is paused. When a media item is paused, resuming playback begins from the same location.(停留)
3 Playing The current media item is playing.(播放)
4 ScanForward The current media item is fast forwarding.
5 ScanReverse The current media item is fast rewinding.
6 Buffering The current media item is getting additional data from the server.(转换)
7 Waiting Connection is established, but the server is not sending data. Waiting for session to begin.(暂停)
8 MediaEnded Media item has completed playback. (播放结束)
9 Transitioning Preparing new media item.
10 Ready Ready to begin playing.(准备就绪)
11 Reconnecting Reconnecting to stream.(重新连接)
以上就是对Windows MediaPlayer的基本操作
未经允许,不得转载!
- C# 调用Widows MediaPlayer方法以及可能出现错误处理
- Linux Nginx安装以及可能出现错误
- Linux Nginx安装以及可能出现错误
- 关于OC中self是调用属性的存取方法以及它可能出现的内存泄露情况
- iOS ipa包打包方法以及可能出现的问题
- ipa包打包方法以及可能出现的问题
- load方法在延迟加载时可能出现的错误。
- mac 下终端 操作svn命令 以及出现证书错误的处理方法
- ssl解释以及学习数据库传输中出现SSL错误的处理方法
- flex 1061: 调用可能未定义的方法 unloadAndStop错误解决
- c#调用 Win32Api之错误处理
- 硬盘出现坏道以及处理方法
- C#中调用DLL时未能加载文件或程序集错误处理方法
- 使用Override 出现错误的处理方法
- Window MediaPlayer出现内部应用程序错误解决办法
- 使用MediaPlayer出现The surface has been released 异常处理方法,附代码
- StoryBoard可能出现错误解决
- hadoop常见错误以及处理方法
- jQuery官方教程之频繁被问的问题汇总
- Java异常处理总结
- linux访问window系统的共享目录
- 第一个DLL程序:动态链接库DLL教程,30分钟快速上手
- Monitor Service Health--Office 365
- C# 调用Widows MediaPlayer方法以及可能出现错误处理
- 【android】应用架构一一一一一Activity和Fragment的对比分析
- Linux小知识:SSH协议
- 浅析fresco
- UIImage部分拉伸——stretchableImageWithLeftCapWidth的使用
- php下使用ajax异步上传图片并显示缩略图
- 鸟哥的Linux私房菜(基础篇)- 第二十三章、软件安装: RPM, SRPM 与 YUM 功能
- Python 正则
- CountDownTimer的使用