在VC6.0下自制多媒体播放器

http://tech.ddvip.com   2006年07月23日    社区交流

本文详细介绍在VC6.0下自制多媒体播放器

  4. 接下来,就是为程序添加消息处理函数。打开 ClassWizard,为各个按钮加入消息处理函数。在MediaPlayerDlg.cpp文件里为各消息处理函数添加代码,各代码如下:void CMediaPlayerDlg::OnClose()
{
    m_ActiveMovie.CloseWindow();//关闭窗口
}
void CMediaPlayerDlg::OnOpen()
{
    char szFileFilter[]=
       "Mp3 File(*.mp3)|*.mp3|"
       "Wma File(*.wma)|*.wma|"
       "Video File(*.dat)|*.dat|"
       "Wave File(*.wav)|*.wav|"
       "AVI File(*.avi)|*.avi|"
       "Movie File(*.mov)|*.mov|"
       "Media File(*.mmm)|*.mmm|"
       "Mid File(*.mid;*,rmi)|*.mid;*.rmi|"
       "MPEG File(*.mpeg)|*.mpeg|"
       "All File(*.*)|*.*||";//文件类型过滤
    CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,szFileFilter);
    if(dlg.DoModal()==IDOK){
       CString PathName=dlg.GetPathName();
       PathName.MakeUpper();
       m_ActiveMovie.SetFileName(PathName);
    }
}
void CMediaPlayerDlg::OnPlay()
{
    m_ActiveMovie.Run();//播放文件
    SetTimer(0,20,NULL);//设置定时器
}
void CMediaPlayerDlg::OnStop()
{
    m_ActiveMovie.Stop();//停止播放文件
    KillTimer(0);//关掉定时器
}
void CMediaPlayerDlg::OnPause()
{
    m_ActiveMovie.Pause();
}
void CMediaPlayerDlg::OnUpper()
{
    long Volume=m_ActiveMovie.GetVolume();
    m_ActiveMovie.Pause();
    m_ActiveMovie.SetVolume(Volume+100);
    m_ActiveMovie.Run();
}
void CMediaPlayerDlg::OnLower()
{
    long Volume=m_ActiveMovie.GetVolume();
    m_ActiveMovie.Pause();
    m_ActiveMovie.SetVolume(Volume-100);
    m_ActiveMovie.Run();
}
void CMediaPlayerDlg::OnRepeat()
{
    if(!isRepeat){
       isRepeat=TRUE;
       SetDlgItemText(IDC_STATIC2,"Status:Repeat");
    }    
    else{
       isRepeat=FALSE;
       SetDlgItemText(IDC_STATIC2,"Status:Normal");
    }
}
void CMediaPlayerDlg::OnFulscreeen()
{
    m_ActiveMovie.Pause();
    m_ActiveMovie.SetFullScreenMode(true);
    m_ActiveMovie.SetMovieWindowSize(SW_SHOWMAXIMIZED);
    m_ActiveMovie.Run();
}

作者:王凯明    责编:豆豆技术应用

正在加载评论...