wxWidgets3.0.2媒体播放器

来源:互联网 发布:药丸 知乎 编辑:程序博客网 时间:2024/06/15 05:33

实验环境:Windows10,wxWidgets6.0.2,VisualStudio 2013

HanApp.h

#ifndef HANAPP_H_#define HANAPP_H_#include<wx/wxprec.h>#include<wx/wx.h>class HanApp :public wxApp{public:virtual bool OnInit();};#endif

HanApp.cpp

#include"HanApp.h"#include"HanFrame.h"#include<wx/mediactrl.h>bool HanApp::OnInit(){HanFrame * f = new HanFrame(0, 1, "x");f->Show();return true;}IMPLEMENT_APP(HanApp)
HanFrame.h

#ifndef HANFRAME_H_#define HANFRAME_H_#include<wx/frame.h>#include<wx/mediactrl.h>class HanFrame :public wxFrame{private:wxMediaCtrl * m_Player;public:HanFrame(wxWindow * parent,wxWindowID id,const wxString & title);private:void OnMediaLoaded(wxMediaEvent &evt);wxDECLARE_EVENT_TABLE();};#endif
HanFrame.cpp

#include"HanFrame.h"#include<wx/mediactrl.h>#include<wx/wx.h>#include<wx/uri.h>HanFrame::HanFrame(wxWindow * parent, wxWindowID id, const wxString & title) :wxFrame(parent, id, title){this->m_Player = new wxMediaCtrl(this, (wxWindowID)2);bool re = this->m_Player->Load("C:\\Users\\han\\Music\\林俊杰 - 只对你有感觉.mp3");if (!re)wxLogMessage("载入失败");this->m_Player->SetVolume(1.0);this->m_Player->ShowPlayerControls();//|第二种连接 事件-处理函数 的方法//this->Connect(2,wxEVT_MEDIA_LOADED, (wxObjectEventFunction)(wxEventFunction)(wxMediaEventFunction)&HanFrame::OnMediaLoaded);}void HanFrame::OnMediaLoaded(wxMediaEvent &evt){wxMessageBox("载入成功!");bool re2 = this->m_Player->Play();if (!re2)wxLogMessage("播放失败");}wxBEGIN_EVENT_TABLE(HanFrame, wxFrame)EVT_MEDIA_LOADED(2,HanFrame::OnMediaLoaded)EVT_MEDIA_STOP(2,HanFrame::OnMediaLoaded)wxEND_EVENT_TABLE()
这里有一个小问题,EVT_MEDIA_LOADED不能正确响应,待以后解决。
需要注意的是 编译库的时候 是release就只能release,wxMediaCtrl可以播放音乐 也可以播放视频。




0 0
原创粉丝点击