158上位机VC MFC播放MP3格式文件
158上位机VC MFC播放MP3格式文件
功能展示
MP3音频文件是我们日常中极为常见的文件格式,我们当前例程通过编程程序实现MP3文件的打开播放快进快退等操作,效果如图; 要点提示 Windows Media Player控件的功能有很多,对应的操作类也很多,我们当前仅用到打开和播放文件,所以在加载控件时我们只要选择两个类便可,既CWMPControls, CWMPPlayer4;MP3文件的播放是通过CWMPControls控件类的成员函数来实现,如播放play(),停止stop(); 实现功能 1.新建基于对话框的应用程序 2.在主对话框中插入控件Windows Media Player,根据自已的开始需要,设置控件属性,然后关联变量CWMPPlayer4 m_Mp3;操作过程中会弹出对话框提示添加类,我们当前例程仅添加两个类CWMPControls, CWMPPlayer4; 3.变量使用前记得添加头文件#include"wmpplayer4.h"#include "wmpcontrols.h“
然后是拖拽按钮控件,实现MP3音频文件的打开暂停播放快进快退等操作;下面是代码部分 - void CGkbc8Dlg::OnOpen()
- {
- CFileDialog Dlg(TRUE,".mp3",NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"mp3文件(*.MP3)|*.MP3||");
- if(Dlg.DoModal() == IDOK) m_Mp3.SetUrl(Dlg.GetPathName());
- }
- void CGkbc8Dlg::OnPlay()
- {
- m_Mp3.GetControls().play();
- }
- void CGkbc8Dlg::OnPause()
- {
- m_Mp3.GetControls().pause();
- }
- void CGkbc8Dlg::OnStop()
- { m_Mp3.GetControls().stop();}
复制代码- void CGkbc8Dlg::OnFd() //快退
- {
- if(m_Mp3.GetPlayState()!=3)//没播放时返回
- return;
- double pos=m_Mp3.GetControls().GetCurrentPosition();
- if(pos<5)
- return;
- m_Mp3.GetControls().SetCurrentPosition(pos-5);
- }
- void CGkbc8Dlg::OnFf() //快进
- {
- if(m_Mp3.GetPlayState()!=3)//没播放时返回
- return;
- double pos=m_Mp3.GetControls().GetCurrentPosition();
- m_Mp3.GetControls().SetCurrentPosition(pos+5);
- }
复制代码我们来演示下功能实现的整个过程
|