转载连接: http://blog.csdn.net/liuyuehui110/article/details/54425371
开发环境:VS2010
在C#.NET windows应用程序做视频播放,首先要用到com组件中windows media player,当然你也可以用其它的,这里就以windows media player为例。
一、新建windows应用程序项目,添加vedioForm窗体
二、在com组件中找到windows media player,添加引用
三、代码如下:
四、OK 了,执行看效果。
以上代码只是实现了单个视频文件循环播放的效果,当然还可以播放一个视频列表,这里就不再赘叙。
以下是关于windows media player的控件详细说明:
[基本属性]
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.(重新连接)