(5)设置文件的函数:
void CActiveMovie3::SetFileName(LPCTSTR lpszNewValue) { static BYTE parms[] = VTS_BSTR; InvokeHelper(0xb, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,lpszNewValue); } |
(6)获得播放位置的函数:
double CActiveMovie3::GetCurrentPosition() { double result; InvokeHelper(0xd, DISPATCH_PROPERTYGET, VT_R8, (void*)&result, NULL); return result; } |
(7)设置播放位置的函数:
void CActiveMovie3::SetCurrentPosition(double newValue) { static BYTE parms[] = VTS_R8; InvokeHelper(0xd, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue); } |
(8)获得音量的函数:
long CActiveMovie3::GetVolume() { long result; InvokeHelper(0x13, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); return result; } |
(9)设置音量的函数:
void CActiveMovie3::SetVolume(long nNewValue) { static BYTE parms[] = VTS_I4; InvokeHelper(0x13, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, nNewValue); } |
(10)设置自动开始播放的函数:
void CActiveMovie3::SetAutoStart(BOOL bNewValue) { static BYTE parms[] = VTS_BOOL; InvokeHelper(0x28, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, bNewValue); } |
在Visual C++6.0中,一般情况都是在基于对话框的应用程序中使用ActiveMovie控件,可在菜单中依次选择"project- >Add To Project- >Components And Controls",在出现的"Components And Controls Gallery"对话框中打开"Registered Active Controls"文件夹,选中"ActiveMovie Control Object"选项,按"Insert"按钮后关闭该对话框,ActiveMovie控件便出现在程序编辑器的控件面板中,调整好控件在对话框中的位置。利用ClassWizard为ActiveMovie控件声明一个变量,设该变量的名字为m_ActiveMovie,当用户选择过待播放的文件后,为了能够播放多个文件,可以使用如下代码来向列表控件添加待播放的文件名:
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,szFileFilter); if(dlg.DoModal()==IDOK) { CString m_filename=dlg.GetPathName(); m_list.AddString(m_filename); UpdateData(FALSE); } |
为了实现多媒体文件的循环播放,我们利用定时器来工作,在定时器中添加代码如下:
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); } |
当需要关闭音/视频的播放时,可以用函数m_ActiveMovie.Stop()来实现。
二、编程步骤
1、 启动Visual C++6.0,生成一个基于对话框的程序,将该程序命名为"Player",去掉程序中对话框上的"确定" 和"取消"按钮,并加入ActiveMovie控件;
2、 使用资源编辑器对话框添加三个按钮("选择曲目Open"、"循环播放Play"、"关闭Stop")和一个列表框;
3、 使用ClassWizard为三个按钮和列表框添加成员变量,分别为:CButton m_stop、 CButton m_play、CListBox m_list;并且为三个按钮添加鼠标单击消息响应函数;
4、 添加代码,编译运行程序。
 
说明:本教程来源互联网或网友上传或出版商,仅为学习研究或媒体推广,wanshiok.com不保证资料的完整性。
2/2 首页 上一页 1 2 |