WEB开发网
开发学院软件开发VC 在VC++中实现自动连续播放多媒体 阅读

在VC++中实现自动连续播放多媒体

 2008-02-26 20:27:20 来源:WEB开发网   
核心提示:三、 建立工程利用 VC++6.0的AppWizard生成一个基于对话框的工程Player,去掉对话框上的"确定" 和"取消"按钮,在VC++中实现自动连续播放多媒体(3),并加入ActiveMovie控件(通常情况下ActiveMovie控件并不出现在控件面板中,可在菜单中依次

三、 建立工程

利用 VC++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、美 Paul Perry 陈向群 等译《多媒体开发指南》 清华大学出版社

2、 美 Peter Norton, Rob McGregor 孙凤英 等译《MFC开发Windows95/NT4应用程序》 清华大学出版社 1998

3、周敬利 《多媒体声卡技术及应用》 电子工业出版社 1998

上一页  1 2 3 

Tags:VC 实现 自动

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接