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

合集下载

毕设论文-基于VC 的TS 流实时视频播放器设计

毕设论文-基于VC 的TS 流实时视频播放器设计
第四章 视频播放器的设计与实现 ............................................................................ 19
4.1 视频播放器的总体设计方案 ............................................................................. 19
第三章 视频播放器的相关技术知识 ........................................................................ 10
3.1 LIBVLC 库 .......................................................................................................... 10 3.1.1 VLC 播放器................................................................................................. 10 3.1.2 LibVLC 库的组成 ....................................................................................... 10
1.1 序言 ....................................................................................................................... 1 1.2 视频编解码技术现状 ........................................................................................... 2 1.3 流媒体传输技术现状 ........................................................................................... 3 1.4 本文主要研究内容 ............................................................................................... 4 1.5 论文结构安排 ....................................................................................................... 4

如何利用PPT放映设置自动循环播放

如何利用PPT放映设置自动循环播放

如何利用PPT放映设置自动循环播放PPT(Microsoft PowerPoint)是一款常用的演示文稿软件,让我们能够通过图片、文字、音频和视频等多种形式来展示内容。

在很多场合,我们需要利用PPT进行放映,并希望能够设置自动循环播放功能,以便无需手动操作就能够自动进行幻灯片的播放。

本文将探讨如何利用PPT放映设置自动循环播放,以提升演示效果和使用便利性。

一、制作PPT演示内容在开始设置PPT的自动循环播放之前,首先需要制作好演示内容。

以下是一些建议,有助于您制作出高质量的PPT演示:1. 简洁明了的幻灯片布局:每一页幻灯片上的内容应该简洁明了,避免堆砌过多文字和图像。

使用适当的标题和关键词,以提醒和引导观众注意重点信息。

2. 引人入胜的图像和动画:选用高质量的图片和动画能够提升演示的吸引力。

图像应该与主题相关,动画效果应该适度,不要过度使用以免分散观众的注意力。

3. 适当的字体和字号:字体应该清晰易读,字号要足够大以确保观众能够轻松辨认。

不同幻灯片之间的字体和字号应保持一致,以确保整体的统一性。

4. 有效的结构和流程:确保幻灯片的内容按照逻辑顺序展示,这样观众能够更好地理解您的演示。

使用标题和分段来分隔不同的主题和段落,使整体结构清晰可见。

二、设置自动循环播放在制作好PPT演示内容后,接下来就是设置自动循环播放功能。

按照以下步骤进行设置:1. 打开编辑模式:打开PPT文档,进入编辑模式。

2. 选择“幻灯片放映”选项卡:位于软件顶部的选项卡之一,选择“幻灯片放映”选项卡。

3. 点击“设置幻灯片循环放映”:点击“设置幻灯片循环放映”按钮,打开设置窗口。

4. 选择循环方式:在设置窗口中,选择如何循环播放幻灯片。

可以选择从第一页到最后一页、从第一页到倒数第二页再返回到第一页,或者自定义设置播放范围。

5. 设置放映时间:根据需要,可以设置每一页幻灯片的停留时间。

可以选择每页停留的时间长度,或者进行手动设置。

教你利用VC 和JAVA 设计视频播放器的详细步骤

教你利用VC  和JAVA 设计视频播放器的详细步骤

音量控制和媒体播放对象对界面管理存在依赖关系,这两个对象要从 界面获取控制指令,它们的属性要在界面上显示。本播放器的类图如图 2 所示。
界面管理 +媒体文件信息 +播放控制指令 +界面隐藏/显示指令 +音量控制 +显 示 播放 情 况 ():void +查找文件():void +播放():void +暂停():void +退出():void +全屏():void
图5
ActiveMovie 添加控件
4. 在对话框类的文件夹中包含控件类,添加的代码如下:
//MovieDlg.h : header file #include “activemovie3.h”
5. OnPaint( )
播放器对话框函数。 void CMediaPlayerDlg::OnPaint() { if (IsIconic()) { CPaintDC dc (this); // device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); //在用户端长方形中置图像 int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON);
CFileDialogdlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,szFileFilter); ∥定义打开对话框对象 if (dlg.DoModal()==IDOK) { CString PathName=dlg.GetPathName();//获取一个字符串 PathName.MakeUpper(); m_ActiveMovie.SetFileName(PathName);//设置该 串为媒体播 放器文件 } } 其中, 第一条语句用于设置选择文件的类型, 第二条语句用于创建一个 “打 开文件”的对话框,后面的语句用于选择要播放的文件。 ( 2) 添加 【 关闭】按 钮 的处理函 数,它的 主要功 能是利用文 件对话框 关 闭视频文件,具体实现步骤同(1) ,添加的代码如下: void CMediaPlayerDlg::OnClose() { //在这里增加控制处理程序代码 m_ActiveMovie.CloseWindow(); //关闭窗口 } ( 3) 添加 【 播放】按 钮 的处理函 数,我们 先判断 文件的状态 ,再调用 控 件的有关方法来播放视频文件,具体代码如下: void CMediaPlayerDlg::OnPlay() { m_ActiveMovie.Run(); SetTimer(0,20, NULL); //设置定时器模式 } ( 4) 添加 【 停止】按 钮 的处理函 数,它的 主要功 能是利用文 件对话框 停 止视频文件的播放,具体实现如下: void CMediaPlayerDlg::OnStop() { //在这里增加控制处理程序代码 m_ActiveMovie.Stop(); KillTimer(0); //关掉定时器 } ( 5) 添加 【 暂停】按 钮 的处理函 数,它的 主要功 能是利用文 件对话框 暂 停视频文件的播放,具体实现如下: void CMediaPlayerDlg::OnPause() { // 在这里增加控制处理程序代码

怎么让多个ppt连续播放

怎么让多个ppt连续播放

怎么让多个ppt连续播放
有时候我们做演示时不止用到一个ppt,每个ppt结束后还要自行去调整,比较麻烦。

以下是店铺为您带来的关于多个PPT文件实现连续播放,希望对您有所帮助。

多个PPT文件实现连续播放
首先打开一个制作好的PPT,然后点击“文件→导出→将演示文稿打包成CD”,再点击右侧“打包成CD”按钮。

在打开的对话框中,点击“添加”,再从打开的浏览框中选中所有欲连续播放的PPT文件,配合Ctrl或Shift键,可以一次选择多个文件,然后点击“打开”,导入PPT文件列表。

最后点击“复制到文件夹”,在打开的对话框中设置导出的保存位置,点击“确定”。

完成后会自动打开文件保存的文件夹,其中有一个HTML网页文件,打开后,有一个漂亮的网页界面,随意点击哪个链接,即可播放那个PPT了。

【原创】基于VC++的多媒体播放器设计与实现毕业论文

【原创】基于VC++的多媒体播放器设计与实现毕业论文

本科毕业设计(论文)说明书课题名称基于VC++的多媒体播放器设计与实现毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到本声明的法律后果由本人承担。

作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。

本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

作者签名:日期:年月日导师签名:日期:年月日注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。

VC常用小技巧--让窗口一启动就最大化

VC常用小技巧--让窗口一启动就最大化

窗口让窗口一启动就最大化把应用程序类(CxxxApp)的InitInstance() 函数中的m_pMainWnd->ShowWindow(SW_SHOW); 改为m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);则窗口一启动就最大化显示。

显示位置的设置方法GetWindowRect() 得到的是在屏幕坐标系下的RECT(即以屏幕左上角为原点)GetClientRect() 得到的是在客户区坐标系下的RECT(即以所在窗口左上角为原点,去掉了标题栏计算,仅仅是个大小,返回值的左上角永远为0,0)ScreenToClient() 就是把屏幕坐标系下的RECT坐标转换为客户区坐标系下的RECT坐标。

如果需要获得窗体在屏幕上的位置,使用GetWindowRect如果需要获得窗体的大小,使用GetClientRect如何设置窗口的初始尺寸在将应用程序类(CxxAPP)的InitInstance() 函数中加入:m_pMainWnd->SetWindowPos(NULL,x,y,Width,Height,SWP_NOMOVE);Width为窗口宽度,Height为窗口高度SWP_NOMOVE表示忽略位置(x,y)。

如:让窗口居中显示以下两种方法可任选其一:①在应用程序类(CxxxApp)的InitInstance() 函数中加入:②在主框架类(MainFrm.cpp)的OnCreate()函数中加入:CenterWindow( GetDesktopWindow() );如:如何修改窗口标题窗口标题一般形式为:文档标题- 程序标题1、设置文档标题:在文档类(CxxxDoc)的OnNewDocument()函数中加入语句:SetTitle("文档名");如:TextEditorDoc.cpp:①可删除Debug文件夹和Release文件夹;②原则上还可删除主文件夹中所有图标为的文件,包括.aps、.ncb、.opt、.plg等文件,它们都能在编译时重建。

多媒体接口

#include <dshow.h> class CDShowDlg : public CDialog { // Construction public:
CDShowDlg(CWnd* pParent = NULL); // standard constructor
IGraphBuilder *pGraph; //定义指向IGraphBuilder接口的指针 IMediaControl *pMediaControl; //定义指向IMediaControl 接口的指针 BOOL IsRun; //定义判断是否播放的标志 char PathName[200]; //定义字符数组,存放当前在播文件名 ……
(3) 在MCIDlg.h文件中添加:
#include "mmsystem.h“
class CMCIDlg : public CDialog { // Construction public:
CMCIDlg(CWnd* pParent = NULL); // standard constructor
Open.lpstrDeviceType=(char*)MCI_DEVTYPE_WAVEFORM_AUDIO;
Open.lpstrElementName=MC_File.PathName;
MCIERROR e=mciSendCommand(
NULL,
//设备ID,对于 MCI_OPEN, 命令,应为NULL
COM以类(coclass)的形式存在,COM类中也有成员函数(或 称为方法),但这些成员函数只能通过COM接口来调用。
COM类提供了若干个面向用户的接口,其中必有一个名为 IUnknown的接口,其他COM接口都派生于IUnknown。如图。

在C#中实现视频播放器

在C#中实现视频播放器当我们需要在C#中实现视频播放器的时候,可以使⽤如下⼏种⽅法:⼀、使⽤MediaPlayer ActiveX控件在C#中⽀持视屏播放器最简单的⽅式就是插⼊MediaPlayer控件了,在WPF中还内置了对MediaPlayer的封装MediaElement,可以通过它直接打造⼀个播放器。

使⽤MediaPlayer控件的好处是简单,它已经基本封装了常⽤的功能,只需要很少的⼏⾏代码就可以实现媒体播放器的功能。

并且,由于操作系统中已经内置了MediaPlayer,不需要额外集成播放器的⽂件。

不过,它的⼀个最⼤的问题是视频⽀持格式有限。

这个问题本⾝并不严重,在⼗年前就可以通过安装的⽅式来扩展其⽀持格式的。

对于⼀些私有格式的视频⽂件播放,也可以采⽤这种⽅案。

这种⽅式本⾝还是⾮常强⼤的,不过它带来了插件的安装问题了。

如果你的程序是被许多客户端所使⽤的话,还是会有不少的⿇烦的。

插件不容易被集成安装安装完了后⼜不少参数要设置,并且不容易通过程序来设置它第三⽅插件容易和客户端环境冲突,出问题不容易定位和处理插件更新不⽅便当然,如果客户端较少,可以⼈⼯维护的话,⽤MediaPlayer也不失为⼀种简单易⾏的⽅案。

⼆、使⽤VLC ActiveX控件为了免除插件的⿇烦,⼀种替换⽅案是直接使⽤⼀个⽐较强⼤的播放器VLC Player,通过它的ActiveX控件实现视频播放的功能。

该⽅法本质上和⽅法⼀⼀样,是调⽤的ActiveX控件,好处是可以⾮常快捷的实现播放器的功能。

axVLCPlugin21.playlist.add("mms://new-media/publishingpoint1", "", " :mms-caching=1000");axVLCPlugin21.playlist.play();这种⽅式和前⾯的⽅法⼀样,涉及到第三⽅程序的安装。

VC++多媒体技术 MCI使用

第7章多媒体技术多媒体技术是综合图形、文字、声音和视频图象等多种媒体手段,用于传递和表达计算机信息的技术。

Windows提供了丰富的多媒体服务功能,用户可以根据自己的需求,编写层次不同的多媒体应用程序。

7.1 使用MCI播放W AVE文件的程序实例我们先举一个简单的例子,了解一下多媒体应用程序的编制过程和实现效果。

例7.1 声音播放1、新建项目(1)创建一个基于对话框的应用程序,名为:播放声音(2)删除原有的“取消”按钮,把“确定”按钮的标题改为“退出”。

(3)添加一个按钮,其ID标识符为:IDC_PLAY,标题为:播放。

调整对话框大小和布局,如图7.1所示。

2、为程序添加多媒体支持使用Visual C++编写多媒体程序时必须向项目中添加多媒体支持。

步骤如下:(1)Project->Setting->打开Project Setting对话框- >切换到Link选项卡,在Object/Library modules文本框中输入winmm.lib,如图7.2所示,OK退出。

图7.1 播放声音程序的对话框布局图7.2 为程序添加多媒体支持(2)在“播放声音Dlg.h”文件的前面写:#include “MMSystem.h”3、添加成员变量在CMyDlg类(播放声音Dlg.h)中添加成员变量:MCIDEVICEID m_MCIDeviceID;4、将一个声音文件如:mail.wav拷贝到此项目文件夹中。

BOOL CMyDlg::OnInitDialog(){ CDialog::OnInitDialog();MCI_OPEN_PARMS mciOpenParms; // 打开MCI设备mciOpenParms.lpstrDeviceType="waveaudio"; //MCI设备名mciOpenParms.lpstrElementName="mail.wav"; //声音文件,此处写你考到文件夹下的声音文件名mciSendCommand(0,MCI_OPEN,MCI_OPEN_TYPE|MCI_OPEN_ELEMENT,(DWORD)(LPVOID)&mciOpenParms);m_MCIDeviceID=mciOpenParms.wDeviceID;return TRUE; // return TRUE unless you set the focus to a control}说明:(1)mail.wav是一个W A V声音文件,第4步时已经复制到此项目文件中。

VC++中播放声音的方法

VC++中播放声音的方法内容提要本文讨论了在VC++中播放声音文件的几种不同方法,并提供了具体的实现例句。

关键词声音文件音频设备播放多媒体文章正文声音是多媒体的一个重要组成部分,在应用程序中加入声音可以使界面更友好。

在VC++中可以根据不同的应用要求,用不同的方法实现声音的播放。

一.播放声音文件的简单方法在VC++ 中的多媒体动态连接库中提供了一组与音频设备有关的函数。

利用这些函数可以方便地播放声音。

最简单的播放声音方法就是直接调用VC++中提供的声音播放函数BOOL sndPlaySound ( LPCSTR lpszSound,UINT fuSound ); 或BOOL PlaySound( LPCSTR lpszSound, HMODULE hmod, DWORD fuSound );其中参数lpszSound是需要播放声音的.WAV文件的路径和文件名,hmod在这里为NULL,fuSound是播放声音的标志,详细说明请参考VC++中的帮助。

例如播放C:\sound\music.wav可以用sndPlaySound ("c:\\sound\\music.wav",SND_ASYNC);或PlaySound("c:\\sound\\music.wav",NULL,SND_ASYNC|SND_NODEFAULT );如果没有找到music.wav文件,第一种格式将播放系统默认的声音,第二种格式不会播放系统默认的声音。

二.将声音文件加入到程序中在VC++的程序设计中,可以利用各种标准的资源,如位图,菜单,对话框等。

同时VC++也允许用户自定义资源,因此我们可以将声音文件作为用户自定义资源加入程序资源文件中,经过编译连接生成EXE文件,实现无.WAV文件的声音播放。

要实现作为资源的声音文件的播放,首先要在资源管理器中加入待播放的声音文件(实现过程并不复杂,这里不在叙述)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

随着计算机技术的发展,人们不仅使用单一的文字作为信息的载体,还可以通过各种各样的媒体来传递、存储信息。

我们通常所说的"媒体"(Media)包括其中的两点含义,一是指信息的物理载体(即存储和传递信息的实体),如书本、挂图、磁盘、光盘、磁带以及相关的播放设备等;另一层含义是指信息的表现形式(或者说传播形式),如文字、声音、图像、动画等。

多媒体计算机中所说的媒体,是指后者而言,即计算机不仅能处理文字、数值之类的信息,而且还能处理声音、图形、电视图像等各种不同形式的信息。

对各种信息媒体的"处理",是指计算机能够对它们进行获取、编辑、存储、检索、展示、传输等各种操作。

一般而言,具有对多种媒体进行处理能力的计算机可称为多媒体计算机。

多媒体技术不是各种信息媒体的简单复合,它是一种把文本(Text)、图形(Graphics)、图像(Images)、动画(Animation)和声音(Sound)等形式的信息结合在一起,并通过计算机进行综合处理和控制,能支持完成一系列交互式操作的信息技术。

多媒体技术的发展改变了计算机的使用领域,使计算机由办公室、实验室中的专用品变成了信息社会的普通工具,广泛应用于工业生产管理、学校教育、公共信息咨询、商业广告、军事指挥与训练,甚至家庭生活与娱乐等领域。

我们可以利用MCI控件开发多媒体项目,但现在介绍一种更简便的方法,用ACTIVEMOVIE CONTROL OBJECT控件来实现的方法。

可视动画控件ActiveMovie是Microsoft公司开发的ActiveX控件,从开始的1.0版、1.2版到现在的2.0版,功能上已经有了很大的改进。

由于该控件内嵌了Microsoft MPEG音频解码器和Microsoft MPEG视频解码器,所以能够很好地支持音频文件和视频文件,用其播放的VCD效果就很好。

另外,播放时若用鼠标右键单击画面,可以直接对画面的播放、暂停、停止等进行控制,读者还可以自行在"属性"栏中对影片播放进行控制设置,用起来非常方便。

当前在Microsoft公司推出的Visual C++6.0中已经包含了ActiveMovie控件的2.0版,本实例将介绍在Visual C++6.0中利用这个控件实现自动连续播放多个多媒体文件。

程序编译运行后的界面效果如图一所示:图一、播放AVI文件的界面效果图一、实现方法可视动画控件ActiveMovie Control Object 是Microsoft公司开发的ActiveX控件,为程序员提供了在该层次上控制媒体设备接口的能力。

它包含一组高层次的独立于设备的命令,可以控制音频和视频外设,我们不必关心具体的设备便可以对CD、视盘机、波形音频设备、视频播放设备和MIDI设备等媒体设备进行控制,也可以理解成设备面板上的一排按键,通过选择不同的按键(发送不同的命令)即可让设备完成各种功能,而不必关心设备的内部实现,它是一种主要实现音/视频播放的方法。

下面先介绍一下当前音/视频文件的主要形式:1、波形音频波形音频是一种电子数字化声音,是计算机播放音频的一种重要的形式,它存储的声音的波形信息,特点是:当播放播形音频时,不管播放文件的设备是何种类型,都会得到相似的声音。

波形音频文件通常以.wav作为文件扩展名。

由于采用波形音频存储电子需要大量的存储空间,因此它一般只用于短时间的声音播放。

2、MIDI音乐MIDI(Musical Instrument Digital Interface)在多媒体音频中占有重要的位置,是播放和录制音乐的国际标准,它确定了连接音乐设备的电缆线、硬件和通信协议。

多媒体计算机只需具有MIDI接口声卡和MIDI合成器,就具有处理MIDI的功能。

MIDI在处理音乐时是将MIDI音乐设备上产生的活动编码记录下来,将这些数据传递到MIDI合成器上就能中现原来的演奏。

MIDI的消息有两种类型:状态字节和数字字节。

状态字节描述发送的类别(动作和函数),数字字节总是跟在状态字节后,表示发送消息的实际值。

数值字节的个数取决于状态字节表示的消息类型。

MIDI通过通道字节最高位区别这两种类型。

最高位为1表示状态字节,最高位为0表示数字字节。

3、CD音频CD音频采用红皮书标准,通过CD-ROM驱动器来播放CD音频。

CD音频需要的存储量大,一张光盘大约能够存储10首歌,70分钟音频左右。

在一般情况下,整个光盘都用来存储CD 音频数据,并划分为多个音轨,轨道的具体长度可以不定,通常一个音轨对应一首曲目。

CD 音频的长度由分、秒、帧的形式来衡量,最小的单位为帧,每一帧为1/75秒,一分等于60秒。

4、数字视频数字视频(Digital Video)使用数据信息在计算机上实现动画的效果,它是利用人眼睛的视觉暂留形成的,使人们连续图像效果所需的最低播放速度是24幅/秒,播放速度越快,数字视频给人的视觉连续性效果越好。

存储视频影像需要巨大的磁盘空间,一般来讲,1秒钟全屏视频信号需要大约28MB的空间。

为了实现连续的视频播放,不仅需要有足够的空间来存储视频音像信息,还需要保证硬盘有28MB/秒的传播速度。

数字视频包括AVI、MEPG等格式。

其中AVI文件格式是由微软提出的在WINDOWS下存储视频信息的标准。

它以一系列的位图来存储视频信息,并同时在文件中以数字形式来存储数字化视频信息,它实际上是由一组信息流组成的文件。

ACTIVEMOVIE CONTROL OBJECT的常用属性包括以下几个:(1)播放文件的函数:void CActiveMovie3::Run(){InvokeHelper(0x60020001, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);}(2)暂停播放的函数:void CActiveMovie3::Pause(){InvokeHelper(0x60020002, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);}(3)停止播放的函数:void CActiveMovie3::Stop(){InvokeHelper(0x60020003, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);}(4)获得文件的函数:CString CActiveMovie3::GetFileName(){CString result;InvokeHelper(0xb, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);return result;}(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()来实现。

相关文档
最新文档