VC2008 Windows Media Player控件的使用技巧(三)


VC2008 Windows Media Player控件的使用技巧(三) - 无幻 - CSDN博客

        
    








        

VC2008 Windows Media Player控件的使用技巧(三)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/akof1314/article/details/4939553

操作系统:Windows 7

软件环境:Visual C++ 2008 SP1

本次目的:在VC2008下Windows Media Player控件的用法之进阶篇

在上次的编写Media Player播放器后,这次我们来实现对音视频的控制,比如:播放、暂停、停止、快进、音量、进度条等等。首先我们在对话框上放置如下按钮,如图:

VC2008 Windows Media Player控件的使用技巧(三)_第1张图片

在对话框头文件中,添加播放器的一些头文件和声明对象。

// TestDlg.h : 头文件 // #pragma once #include "afxwin.h" #include "CWMPPlayer4.h" //播放头文件 #include "CWMPControls.h" //控制头文件 #include "CWMPSettings.h" //设置头文件 #include "CWMPMedia.h" //媒体头文件 #include "afxcmn.h" // CTestDlg 对话框 class CTestDlg : public CDialog { // ······在这里省略 public: CWMPPlayer4 m_Player; //播放地址关联 CWMPControls m_control; //控制按钮关联 CWMPSettings m_setting; //设置按钮关联 CWMPMedia m_media; //媒体 CProgressCtrl m_progress; //进度条 };

对窗体添加事件,添加一个OnTimer()事件。对Media Player添加播放改变PlayStateChange()事件。具体代码如下:

// TestDlg.cpp : 实现文件 BOOL CTestDlg::OnInitDialog() { //·········省略 m_control=static_cast(m_Player.get_controls()); m_setting=m_Player.get_settings(); return TRUE; // 除非将焦点设置到控件,否则返回 TRUE } void CTestDlg::OnBnClickedButton1() { m_control.play(); //播放 } void CTestDlg::OnBnClickedButton6() { CString fileName; CFileDialog fileDialog( TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,_T("音频、视频文件(*.*)|*.*||"),this); if (fileDialog.DoModal() == IDOK) { fileName=fileDialog.GetPathName(); m_Player.put_URL(fileName); //打开播放 } m_media=static_cast(m_Player.newMedia(fileName)); m_progress.SetRange(0,(int)m_media.get_duration()); //媒体总长度 m_progress.SetPos(0); } void CTestDlg::OnBnClickedButton2() { m_control.pause(); //暂停 } void CTestDlg::OnBnClickedButton3() { m_control.stop(); //停止 } void CTestDlg::OnBnClickedButton4() { m_control.fastForward(); //快进 } void CTestDlg::OnBnClickedButton5() { m_control.fastReverse(); //快退 } void CTestDlg::OnBnClickedButton7() { m_Player.put_fullScreen(1); //全屏 } void CTestDlg::OnBnClickedButton8() { m_setting.put_volume(m_setting.get_volume()-10); //音量减少 } void CTestDlg::OnBnClickedButton9() { m_setting.put_volume(m_setting.get_volume()+10); //音量增加 } void CTestDlg::PlayStateChangeOcx1(long NewState) { if (NewState==3) //播放状态时, 开启定时器 SetTimer(1,1000,NULL); else if (NewState==1) //停止时, 关闭定时器, 进度条回0 { m_progress.SetPos(0); KillTimer(1); } else KillTimer(1); } void CTestDlg::OnTimer(UINT_PTR nIDEvent) { // TODO: 在此添加消息处理程序代码和/或调用默认值 if (nIDEvent != 1) return; m_progress.SetPos(m_progress.GetPos()+1); CDialog::OnTimer(nIDEvent); }

效果如下:

VC2008 Windows Media Player控件的使用技巧(三)_第2张图片

				Media player控件常用属性 

			

属性/方法名:
说明: [ 基本属性

]

URL:String; 指定媒体位置,本机或网络地址 uiMode:String; 播放器界面模式,可为Full, Mini, None, Invisible playState:integer; 播放状态,1=停止,2=暂停,3=播放,6=正在缓冲,9=正在连接,10=准备就绪 enableContextMenu:Boolean; 启用/禁用右键菜单 fullScreen:boolean; 是否全屏显示 [ controls

]

wmp.controls //播放器基本控制 controls.play; 播放 controls.pause; 暂停 controls.stop; 停止 controls.currentPosition:double; 当前进度 controls.currentPositionString:string; 当前进度,字符串格式。如“00:23” controls.fastForward; 快进 controls.fastReverse; 快退 controls.next; 下一曲 controls.previous; 上一曲 [ settings

]

wmp.settings //播放器基本设置 settings.volume:integer; 音量,0-100 settings.autoStart:Boolean; 是否自动播放 settings.mute:Boolean; 是否静音 settings.playCount:integer; 播放次数 [ 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.currentMedia

表格转载自:http://blog.csdn.net/jomakzhao/archive/2007/05/11/1604076.aspx

阅读更多
想对作者说点什么? 我来说一句

VC2008 Windows Media Player控件使用技巧(二)

akof1314 akof1314

11-29 3.2万

操作系统:Windows 7软件环境:Visual C++ 2008 SP1本次目的:在VC2008下Windows Media Player控件的用法之实用篇 很奇怪,也许是WMP.DLL...

Windows Media Player控件的所有属性和方法

jiangqin115 jiangqin115

10-26 3282

Windows Media Player控件的所有属性和方法----1

player.GetPlayState() 返回播放器状态(0:停止,1:连接,2:缓冲,3:播放,4:暂停,5:寻找)







				

环境vs2010









Windows Media Player控件使用使用心得




itmail

itmail




06-01




7347




原文摘自http://lzy3169421.blog.163.com/blog/static/113545277200931594738193/这是我看到的,关于WMP的帖子里总结得最全面而且写得也最…









VC调用windows media player控件实现视频播放




ccx_john

ccx_john




08-29




2343




一 新建MFC项目工程
打开Microsoft Visual C++ 6.0(以下简称VC6.0),选择菜单File->New命令,弹出New窗口,在New窗口中单击Projects标签,弹出选项卡…









C#中Windows Media Player控件使用实例|方法




shouhouxiaomuwu

shouhouxiaomuwu




11-01




5766




Windows Media Player控件
Windows Media Player是一种媒体播放器,可以播放当前最流行的音频、视频文件和大多数混合型的多媒体文件。为了便于程序的开发,Visual …











Windows media player控件的属性、方法及应用




l_mloveforever

l_mloveforever




03-31




1013




前言:
“VB Windows
Media Player”在作品展期间用到了这个控件,于是乎在网上搜罗了一些小知识分享给大家。
正文:

Windows Media Player 控件…









下载


windows Media Player控件


11-29


windows Media Player控件类,主要为在VS中找不到ActiveX控件里的windows Media Player控件类所提供,里面有24类,版本较新.方法介绍:http://blog.csdn.net/akof1314/…








下载


C# Windows Media Player控件的常用属性及方法


07-06


1、基本属性 
URL 指定媒体位置,本机或网络地址
例如:axWindowsMediaPlayer1.URL = @“f:\aa.mp3”;
uiMode 播放器界面模式,可为Full, Mini, None…








下载


MFC调用windows自带的播放器控件windows media player实现视频播放


12-23


在VS2008中用MFC的基于对话框调用微软的windows media player多媒体播放器控件,实现多媒体播放器的开发,完成了播放器外框设定,播放,停止,暂停,快进/快退,自动大小,是否全屏等功能,同时将可能需要的所有类一并载入,…






相关热词




vc2008串口





博主推荐







换一批




        

没有更多推荐了,返回首页

你可能感兴趣的:(MFC)