做网站要用到数据库吗,做网站网站,在线crm有哪些优势,沈阳中小企业网站建设一、简单使用示例步骤 1.添加Windows Media Player 组件当前是系统的 Com组件 工具箱》右键“选择项”》选择Com组件 2.控件拖拽到桌面#xff0c;使用 private void button1_Click(object sender, EventArgs e)
{//播放开始声音axWindowsMediaPlayer2.URL start.mp3使用 private void button1_Click(object sender, EventArgs e)
{//播放开始声音axWindowsMediaPlayer2.URL start.mp3; //指定音频文件axWindowsMediaPlayer2.settings.volume 100;//指定音量axWindowsMediaPlayer2.Ctlcontrols.play();//开始播放
} 播放状态监听 //播放状态监听axWindowsMediaPlayer1.PlayStateChange (eSender, eState) {if (WMPLib.WMPPlayState.wmppsMediaEnded.GetHashCode() eState.newState){axWindowsMediaPlayer1.close(); //结束播放释放文件}}; 二、更多使用说明 Media player控件基本使用步骤如下属性/方法名说明[基本属性] 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-100 settings.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)[currentPlaylist] wmp.currentPlaylist //当前播放列表属性currentPlaylist.count:integer; 当前播放列表所包含媒体数currentPlaylist.Item[integer]; 获取或设置指定项目媒体信息其子属性同wmp.currentMediaaxWindowsMediaPlayer1.currentMedia.sourceURL; //获取正在播放的媒体文件的路径axWindowsMediaPlayer1.currentMedia.name; //获取正在播放的媒体文件的名称axWindowsMediaPlayer1.Ctlcontrols.Play 播放axWindowsMediaPlayer1.Ctlcontrols.Stop 停止axWindowsMediaPlayer1.Ctlcontrols.Pause 暂停axWindowsMediaPlayer1.Ctlcontrols.PlayCount 文件播放次数axWindowsMediaPlayer1.Ctlcontrols.AutoRewind 是否循环播放 (无效)axWindowsMediaPlayer1.Ctlcontrols.Balance 声道axWindowsMediaPlayer1.Ctlcontrols.Volume 音量axWindowsMediaPlayer1.Ctlcontrols.Mute 静音axWindowsMediaPlayer1.EnableContextMenu 是否允许在控件上点击鼠标右键时弹出快捷菜单axWindowsMediaPlayer1.Ctlcontrols.AnimationAtStart 是否在播放前先播放动画(无效)axWindowsMediaPlayer1.Ctlcontrols.ShowControls 是否显示控件工具栏(无效)axWindowsMediaPlayer1.Ctlcontrols.ShowAudioControls 是否显示声音控制按钮(无效)axWindowsMediaPlayer1.Ctlcontrols.ShowDisplay 是否显示数据文件的相关信息(无效)axWindowsMediaPlayer1.Ctlcontrols.ShowGotoBar 是否显示Goto栏(无效)axWindowsMediaPlayer1.Ctlcontrols.ShowPositionControls 是否显示位置调节按钮(无效)axWindowsMediaPlayer1.Ctlcontrols.ShowStatusBar 是否显示状态栏(无效)axWindowsMediaPlayer1.Ctlcontrols.ShowTracker 是否显示进度条(无效)axWindowsMediaPlayer1.Ctlcontrols.FastForward 快进axWindowsMediaPlayer1.Ctlcontrols.FastReverse 快退axWindowsMediaPlayer1.Ctlcontrols.Rate 快进快退速率axWindowsMediaPlayer1.AllowChangeDisplaySize 是否允许自由设置播放图象大小(无效)axWindowsMediaPlayer1.DisplaySize 设置播放图象大小(无效)1-MpDefaultSize 原始大小2-MpHalfSize 原始大小的一半3-MpDoubleSize 原始大小的两倍4-MpFullScreen 全屏5-MpOneSixteenthScreen 屏幕大小的1/166-MpOneFourthScreen 屏幕大小的1/47-MpOneHalfScreen 屏幕大小的1/2axWindowsMediaPlayer1.ClickToPlay 是否允许单击播放窗口启动Media Player在视频播放之后,可以通过如下方式读取源视频的宽度和高度,然后设置其还原为原始的大小. private void ResizeOriginal() { int intWidth axWindowsMediaPlayer1.currentMedia.imageSourceWidth; int intHeight axWindowsMediaPlayer1.currentMedia.imageSourceHeight; axWindowsMediaPlayer1.Width intWidth 2; axWindowsMediaPlayer1.Height intHeight 2; }打开媒体文件并播放: Dim filePath As String With Me.OpenFileDialog1 .Title 打开语音文件 .CheckPathExists True .CheckFileExists True .Multiselect False .Filter mp3文件(*.mp3)|*.mp3|所有文件(*.*)|*.* If .ShowDialog DialogResult.Cancel Then Exit Sub End If filePath .FileName End With Me.Text PC复读机-文件 filePath AxWindowsMediaPlayer1.URL filePath Try Me.AxWindowsMediaPlayer1.Ctlcontrols.play() Catch ex As Exception MsgBox(对不起不能播放此格式语音文件, MsgBoxStyle.OKOnly, PC复读机) Exit Sub End Try注意:AxWindowsMediaPlayer1.URL 中URL是表示要播放的文件名,取消了原来的Name属性.AxWindowsMediaPlayer1.Ctlcontrols.play()播放,同样还有Pause,Stop等其他属性.AxWindowsMediaPlayer1.settings.balance表示媒体播放的声道设置,0表示均衡,-1和1表示左右声道.AxWindowsMediaPlayer1.currentMedia.duration 表示要播放的文件的时间长度.可用它获取文件长度.AxWindowsMediaPlayer1.Ctlcontrols.currentPosition表示正在播放的文件的当前播放位置,可用这个属性来对媒体文件进行前进后退等设置.如AxWindowsMediaPlayer1.Ctlcontrols.currentPosition1 表示前进1个时间单位.AxWindowsMediaPlayer1.settings.rate播放速率,一般乘以16后再显示kbps单位.注意:在上面程序中,如果在后面加上一个msgbox(AxWindowsMediaPlayer1.currentMedia.duration.ToString )则显示结果很可能为0因此这时候很可能获取不到文件的播放时间长度容易出错。所以在利用的时候可以加一个timer控件Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick EndPoint AxWindowsMediaPlayer1.currentMedia.duration If EndPoint 0 Then Exit Sub 可能因为媒体文件的打开需要一定时间这里等待媒体文件的打开 msgbox(AxWindowsMediaPlayer1.currentMedia.duration.ToString )End Sub此时msgbox便会显示文件播放长度。2. Ctlcontrols属性Ctlcontrols属性是AxWindowsMediaPlayer的一个重要属性 此控件中有许多常用成员。(1) 方法play用于播放多媒体文件其格式为窗体名.控件名.Ctlcontrols.play()如 AxWindowsMediaPlayer1.Ctlcontrols.play() ‘此处缺省窗体名是Me(2) 方法pause用于暂停正在播放的多媒体文件其格式为窗体名.控件名.Ctlcontrols.pause()如 AxWindowsMediaPlayer1.Ctlcontrols.pause()(3) 方法stop用于停止正在播放的多媒体文件其格式为窗体名.控件名.Ctlcontrols.stop()如 AxWindowsMediaPlayer1.Ctlcontrols.stop()(4) 方法fastforward用于将正在播放的多媒体文件快进其格式为窗体名.控件名.Ctlcontrols.fastforward()如 AxWindowsMediaPlayer1.Ctlcontrols.forward()(5) 方法fastreverse窗体名.控件名.Ctlcontrols.fastreverse()如 AxWindowsMediaPlayer1.Ctlcontrols.fastreverse()6. 属性CurrentPosition用于获取多媒体文件当前的播放进度其值是数值类型使用格式为窗体名.控件名.Ctlcontrols.currentPositiond1 AxWindowsMediaPlayer1.Ctlcontrols.currentPosition其中d1 是一个整型变量。7. 属性Duration用于获取当前多媒体文件的播放的总时间其值为数值类型其使用格式为窗体名.控件名.currentMedia.duration如d2 AxWindowsMediaPlayer1.currentMedia.duration其中d2是一个整型变量。对WMP的感叹感叹一这是我找到的关于WMP的最全的中文资料了。刚才又查了一下查到了MSDN有更全的API文档终于找到它了。上面的资料基本上够用了但是如果要写一个更为精致的播放器这些还不够啊。看MSDN去也。WMP11在MSDN中的位置如下win32和COM开发-Griphics And MultiMedia-Audio And Vedio-Windows Media Player 11 SDK看了一个晚上的MSDN与资料。发现MSDN上关于WMP SDK的文档也很不扎实。没有实例。我要找的答案都不在上面。唯一的收获是晓得了wpl。wmp有自己的播放列表文件但是我查遍msdn发现sdk 并不提供手动保存播放列表的任何方法。所以现在的问题是我们创建了一个IWMPPlayList但是这个接口不提供任何保存的方法结果。 newPlayList(name,path)只提供打开一个已有列表。郁闷。查了英文资料。老外建议用StreamWrite/StreamRead 的办法来读写wpl我也看了。事实上wpl是一个xml文件。我们可以用System.Xml中的API来读写。不过sdk中的这个漏子我始终无法释 怀。感叹二从WMP8开始就不支持mms/rtsp协议了所用wmp.URLmms://xxxx;是不行的了。点此处见详情而mms这个协议现在还在广泛使用。郁闷。因此我们不能使用wmp来看网络电视了。使用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){ //如果已播放完毕就播放下一个文件 if ((WMPLib.WMPPlayState)e.newState WMPLib.WMPPlayState.wmppsReady) wmp.Ctlcontrols.play();} 唉我费了九牛二虎之力总算找到了这个办法解决。三、怎样获得一个媒体文件中的信息并且修改媒体的一些信息 有办法AxWindowsMediaPlayer.newMedia(filename)它会创建一个IWMPMedia的实例。用它的setItemInfo就成了。至于有哪些信息可供设置可去msdn中查里面列举了所有相关信息。四、IWMPPlayList是不是鸡肋确实是好大的一块鸡肋五、播放器控件有几个组成部分可有隐藏其中相关部分的方法媒体播放器包括如下元素Video Display Panel视频显示面板Video Border视频边框Closed Captioning Display Panel字幕显示面板Track Bar搜索栏Control Bar with Audio and Position Controls带有声音和位置控制的控制栏Go To Bar转到栏Display Panel显示面板Status Bar状态栏就是这么几个部分网上有资料说控件提供方法控制它们显示与否但是我在sdk中并没有找到它们。唯一可以粗略控制它们的就是uiMode属性。它的取值前面有。六、控件的网络设置如设置代理、缓冲次数、缓冲时间等信息在哪设置 AxWindowsMediaPlayer.netWork。它是IWMPNetWork的实例。七、像暴风有字幕相关信息的设置wmp控件有这个功能吗当然有。就是AxWindowsMediaPlayer.closedCaption。它是IWMPClosedCaption的实例。