设为首页 加入收藏

TOP

用VC++实现连续播放多媒体软件(四)
2012-11-04 15:24:38 来源: 作者: 【 】 浏览:814
Tags:实现 连续 播放 多媒体 软件
  三、 建立工程

  利用 VC++(www.cppentry.com)6.0的AppWizard生成一个基于对话框的工程Player,去掉对话框上的"确定" 和"取消"按钮,并加入ActiveMovie控件(通常情况下ActiveMovie控件并不出现在控件面板中,可在菜单中依次选择"project- >Add To Project- >Components And Controls",在出现的"Components And Controls Gallery"对话框中打开"Registered Active Controls"文件夹,选中"ActiveMovie Control Object"选项,按"Insert"后关闭该对话框,ActiveMovie控件便出现在控件面板中),调整好控件在对话框中的位置。为了能够控制控件的操作,应为对话框设计三个按钮("选择曲目"、"循环播放"、"关闭"),一个列表框。

  四、添加代码

  首先利用ClassWizard为ActiveMovie控件声明一个变量m_ActiveMovie。然后为 "选择曲目"按钮声明一个变量m_ChoiceFile,为"循环播放"按钮声明一个变量m_Play,为"关闭"按钮声明一个变量m_Close,为一个列表框声明一个变量m_list。

  1、为了将所需播放的文件加入列表框,我们采用OnChoiceFile()函数来显示"打开"对话框,通过该对话框选择要执行的文件。以便为以后调用作准备。代码如下:

void Cplayer::OnChoiceFile( )
{
  // TODO: Add your command handler code here
  CFileDialog fileDialog( TRUE,"*.OCX",NULL,NULL,"|所有文件(*.*)|*.*||");
  if (fileDialog.DoModal() == IDOK)
  {
    //选择文件
    Cstring m_FileName=fileDialog.GetPathName();
    m_list.AddString(m_FileName); //加入到列表框。
  }
}

  2、 为了循环播放,我们利用定时器来工作,采用OnPlay()函数来激活定时器,代码如下:

void Cplayer::OnPlay()
{
  // TODO: Add your command handler code here
  
  //设置定时器
  SetTimer(0,500,NULL);           
}
void CMy1Dlg::OnTimer(UINT nIDEvent)
{
  // TODO: Add your message handler code here and/or call default
  CString m_filename;      //定义文件变量
  double CurPos=m_ActiveMovie.GetCurrentPosition(); //获得播放位置
  if(CurPos= = 0)
  {
    //选择列表框的第一个文件
    m_list.SetCurSel(0);  
         
    m_list.GetText(0,m_filename);
    
    //设置自动播放
    m_ActiveMovie.SetAutoStart(1);    
    
    //设置文件 
   m_ActiveMovie.SetFileName(m_filename);

   //播放
   m_ActiveMovie.Run();        
   m_list.GetCurSel();

    //插入列表框最后
   m_list.InsertString(-1,m_filename);  

   //删除用过的文件 
   m_list.DeleteString(0);        
  }
  CDialog::OnTimer(nIDEvent);
}

  3、 关闭播放,我们可以利用函数OnClose()来实现,代码如下:

void Cplayer::OnClose()
{
  // TODO: Add your command handler code here
  
  //设置定时器
  KillTimer(0);           
  m_ActiveMovie.Stop();
}

  五、结束语

  目前很多程序介绍的播放器,只能播放单个音频文件,很少讲述多个文件播放,本文试着通过控件,介绍连续播放音频文件的方法。我们还可以根据上述提供函数常用属性,解决程序中间的暂停、设置音量,还可以设置平衡、全屏播放等,希望通过本文给大家一个启示。

  下载源代码
首页 上一页 1 2 3 4 下一页 尾页 4/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇VC下用MFC类实现网络编程 下一篇VC++程序员如何阅读ADO文档

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: