数字视频处理实验报告
- 格式:pdf
- 大小:302.07 KB
- 文档页数:10
《多媒体技术》数字视频的制作与处理实验报告5.使用Premiere软件制作电子相册(图片展示)三、实验过程与结论:1.非线性编辑基本操作将素材导入——>将所需素材拖到时间轴——>使用剃刀工具将素材进行裁剪——>取消链接,删除音频——>将目标音频拖放到音轨——>导出“媒体”2.30秒人物混剪将素材导入——>将所需片段选取并拖至时间轴——>将音频与视频取消链接并将音频删除——>将目标音频导入并拖放至时间轴——>将音频与视频裁剪至30秒3.视频过渡效果将素材导入——>将所需素材拖到时间轴V1轨道上,可以调整时间——>打开效果窗口中的“视频过渡”,选择合适的效果将其拖放到两个视频片段的衔接位置——>将目标音频拖放到时间轴4.MV的制作将所需素材导入——>将音频在展示台进行播放定位标记歌词——>在时间轴中根据标记的位置将图片拖放到时间轴并根据标记裁剪长度——>在每张图片插入恰当的歌词文字并调整长度5.抠图将素材导入——>将两段视频分别拖放到不同的轨道——>将超级键应用到仙鹤所在的视频,用吸管工具吸取该视频的背景色6.使用Premiere软件制作电子相册(图片展示)(1)打开Premiere软件新建项目,设置项目存储位置及名称(2)新建序列1,导入素材并为素材分类(3)使用格式工厂软件转换音频文件类型导入序列图片导入标题文字Psd格式文件并合并所有图层将标题文字放置在视频1轨道上,设置显示时间为5s导入礼花序列,放置在视频轨道2上,并将其移至视频右上角将标题文字与礼花文字移动置换将绸缎序列图片放置在视频3轨道上,并利用比例缩放工具将其显示时间拖动延伸至与标题显示时间一致。
新建序列2新建序列3将素材整合输出,输出类型为.avi格式。
步骤:启动软件,新建项目,将相关素材导入到项目窗口——>在素材源窗口播放音频,并设置无编号标记,将音频进行预处理——>在源窗口中设置好标记,这些标记点预先确定好每句歌词字幕在时间线上的延续时间,并且将音频拖放到轨道上——>在视频轨道上添加图片序列,希望每句歌词对应不同画面,将每幅图片与时间标记点对齐——>使用字幕制作工具创建“片头”“正片”“片尾”等——>完成以上序列的编辑工作后,在节目窗口中查看最终效果,选择文件->导出->媒体命令,将影片导出为.avi格式文件。
一、实验目的通过本次实验,使学生对数字媒体技术的基本概念、原理、方法和应用领域有一个全面的了解,提高学生运用数字媒体技术解决实际问题的能力。
二、实验内容1. 数字媒体技术概述2. 数字图像处理技术3. 数字音频处理技术4. 数字视频处理技术5. 虚拟现实技术6. 数字媒体技术应用实例三、实验过程1. 数字媒体技术概述(1)了解数字媒体技术的定义、分类和发展历程;(2)掌握数字媒体技术的应用领域和前景。
2. 数字图像处理技术(1)学习数字图像的基本概念和特性;(2)掌握图像的数字化过程和图像处理的基本方法;(3)熟悉常用的图像处理软件和工具。
3. 数字音频处理技术(1)了解音频的基本概念和特性;(2)掌握音频的数字化过程和音频处理的基本方法;(3)熟悉常用的音频处理软件和工具。
4. 数字视频处理技术(1)了解视频的基本概念和特性;(2)掌握视频的数字化过程和视频处理的基本方法;(3)熟悉常用的视频处理软件和工具。
5. 虚拟现实技术(1)了解虚拟现实技术的定义、原理和应用领域;(2)掌握虚拟现实技术的实现方法和工具。
6. 数字媒体技术应用实例(1)学习数字媒体技术在各个领域的应用案例;(2)分析数字媒体技术在实际问题中的应用方法和效果。
四、实验结果与分析1. 数字媒体技术概述通过学习,我们了解到数字媒体技术是一门涉及计算机科学、信息科学、艺术设计等多个领域的综合性技术。
随着信息时代的到来,数字媒体技术在各个领域得到了广泛应用,如教育、娱乐、广告、设计等。
2. 数字图像处理技术在数字图像处理实验中,我们学习了图像的数字化过程和图像处理的基本方法。
通过实验,我们掌握了图像的滤波、边缘检测、颜色变换等处理技术,并使用Photoshop等软件进行了实际操作。
3. 数字音频处理技术在数字音频处理实验中,我们了解了音频的数字化过程和音频处理的基本方法。
通过实验,我们学会了音频的录制、编辑、压缩等操作,并使用Audacity等软件进行了实际操作。
第1篇一、引言随着科技的不断发展,数字影视制作技术逐渐成为影视行业的主流。
为了提高自己的专业素养,培养实际操作能力,我参与了数字影视制作实践项目。
本文将详细介绍我在实践过程中的所学、所做、所感,并对实践成果进行总结。
二、实践背景数字影视制作是一项综合性、技术性很强的艺术活动,涉及摄影、剪辑、特效、音效等多个环节。
随着数字技术的普及,数字影视制作在影视行业中占据越来越重要的地位。
为了更好地适应行业发展,提高自己的专业能力,我选择了数字影视制作作为实践项目。
三、实践过程1. 项目策划在项目策划阶段,我首先明确了项目主题和目标。
本次实践项目旨在制作一部短片,以展示我国传统文化。
在确定主题后,我进行了剧本创作,并与团队成员进行讨论和修改,最终确定剧本。
2. 摄影制作在摄影制作阶段,我负责了拍摄现场的统筹和协调工作。
首先,我组织了拍摄团队,包括导演、摄影师、演员等。
其次,根据剧本要求,我制定了拍摄计划,包括拍摄地点、时间、道具、服装等。
在拍摄过程中,我密切关注拍摄进度,确保各项拍摄任务顺利完成。
3. 剪辑制作剪辑是数字影视制作中至关重要的一环。
在剪辑制作阶段,我负责将拍摄素材进行剪辑,形成完整的影片。
首先,我整理了拍摄素材,对画面、声音进行筛选。
然后,根据剧本和导演的要求,对画面进行剪辑,调整节奏和情感。
在剪辑过程中,我还加入了特效和转场,使影片更具观赏性。
4. 特效制作特效是数字影视制作中的一项重要技术。
在特效制作阶段,我利用软件对影片进行特效处理。
首先,我分析了剧本中的特效需求,然后根据特效效果,选择合适的软件进行制作。
在制作过程中,我注重细节,力求使特效与画面、声音相得益彰。
5. 音效制作音效是数字影视制作中不可或缺的一部分。
在音效制作阶段,我负责为影片添加背景音乐和音效。
首先,我挑选了合适的音乐,并与导演进行沟通,确保音乐与影片情感相符合。
其次,我为影片添加了适当的音效,增强了影片的真实感和感染力。
数字视频处理实验报告学院:通信与信息工程学院系班:电信科0901班姓名:学号:时间:2012年11月9日一、实验名称:YUV格式的数字视频的读取与格式转换二、实验目的:1、了解YUV格式的视频数据,编程读取YUV格式视频。
2、了解并掌握RGB和YUV格式视频的转换基本原理,编程进行YUV格式和RGB格式视频转换。
3、掌握四种视频亚采样格式。
三、实验原理彩色视频传输模型主要有YUV、YIQ和YCbCr模型,其中Y分量均代表黑白亮度信息,其余分量代表彩色信息。
YUV是被欧洲电视系统所采用的一种颜色编码方法,我国广播电视也普遍采用这类方法。
其中“Y”表示明亮度,也就是灰阶值;而“U”和“V”表示的则是色度。
彩色电视采用YUV空间正是为了用亮度信号Y解决彩色电视机与黑白电视机的兼容问题,使黑白电视机也能接收彩色电视信号。
YUV彩色模型与RGB工业彩色模型之间的转换关系如下:Y = 0.299R + 0.587G + 0.114B;U = -0.147R - 0.289G + 0.436B;V = 0.615R - 0.515G - 0.100B;RGB转化为YUV的公式如下:R = Y + 1.14V;G = Y - 0.39U - 0.58V;B = Y + 2.03U;在记录计算机图像时,常见的是采用RGB(红、绿、蓝)颜色分量来保存颜色信息,一个像素24位,每8位保存一种颜色强度(0~255)。
四、实验程序1、读取YUV格式视频程序[fname,pname]=uigetfile('*.yuv;*.jqcif');%获得文件路径FileName=fullfile(pname,fname); %选择文件FileLength=length(FileName);%获取文件名长度%判断打开的是YUV格式视频还是QCIF格式图片,并设置相应的像素大小if(FileName(FileLength-2:1:FileLength)=='yuv')wide=176*2;high=144*2;endif(FileName(FileLength-3:1:FileLength)=='qcif')wide=176;high=144;endFile=fopen(FileName);%打开文件framenumber=input('读取第几帧:');%从第framenumber帧开始读取数据fseek(File,(framenumber-1)*high*wide*3/2,'bof');%读取相应分量数据Y=double(fread(File,[wide,high],'uint8'))';U=double(fread(File,[wide/2,high/2],'uint8'))';V=double(fread(File,[wide/2,high/2],'uint8'))';%显示YUV各图像分量figure(1);subplot(2,2,1)imshow(uint8(Y));title(['第' num2str(framenumber) '帧Y分量图']); subplot(2,2,2)imshow(uint8(U));title(['第' num2str(framenumber) '帧U分量图']); subplot(2,2,3)imshow(uint8(V));title(['第' num2str(framenumber) '帧V分量图']);2、YUV格式与RGB格式视频相互转换程序[fname,pname]=uigetfile('*.yuv;*.jqcif ');%获得文件路径FileName=fullfile(pname,fname); %选择文件FileLength=length(FileName);%获取文件名长度%判断打开的是YUV格式视频还是QCIF格式图片,并设置相应的像素大小if(FileName(FileLength-2:1:FileLength)=='yuv')wide=176*2;high=144*2;endif(FileName(FileLength-3:1:FileLength)=='qcif')wide=176;high=144;endFile=fopen(FileName);%打开文件picture=zeros(1.5*high,wide);framenumber=input('读取第几帧:');%从第framenumber帧开始读取数据fseek(File,(framenumber-1)*high*wide*3/2,'bof');%读取相应分量数据Y=double(fread(File,[wide,high],'uint8'))';U=double(fread(File,[wide/2,high/2],'uint8'))';V=double(fread(File,[wide/2,high/2],'uint8'))';%将YUV三分量图像拼接成一幅图片picture(1:high,1:wide)=Y;picture(high+1:1.5*high,1:wide/2)=U;picture(high+1:1.5*high,wide/2+1:wide)=V;Y1(1:high/2,1:wide/2)=Y(1:2:high,1:2:wide);%将Y分量图像缩小一半%将YUV各分量图像通过公式转换为RGB各分量R = Y1 + 1.14*(V-128);G = Y1 - 0.39*(U-128) - 0.58*(V-128);B = Y1 + 2.03*(U-128);%将R,G,B各分量合成RGB图像picture1=zeros(high/2,wide/2,3);picture1(:,:,1)=R;picture1(:,:,2)=G;picture1(:,:,3)=B;RGB=uint8(cat(3,R,G,B));%图像结果显示figure(1);subplot(1,2,1);imshow(uint8(picture));title(['第' num2str(framenumber) '帧YUV格式图像各分量图']); subplot(1,2,2);imshow(RGB);title(['第' num2str(framenumber) '帧转换为RGB图像显示']);五、实验结果与分析1、读取YUV格式视频结果图一YUV各分量显示2、YUV格式与RGB格式视频相互转换结果图二YUV视频图像转换为RGB图像显示。
第1篇一、实验目的1. 熟悉数字剪辑的基本操作流程。
2. 掌握数字剪辑软件的使用方法。
3. 提高数字视频制作与处理能力。
二、实验环境1. 实验设备:计算机、数字摄像机、硬盘录像机、数字剪辑软件等。
2. 实验软件:Adobe Premiere Pro、Final Cut Pro、DaVinci Resolve等。
三、实验内容1. 视频素材的采集与导入2. 视频素材的剪辑与拼接3. 视频特效的处理与添加4. 视频音频的调整与合成5. 视频输出的设置与导出四、实验步骤1. 视频素材的采集与导入(1)使用数字摄像机拍摄所需素材。
(2)将拍摄的视频文件复制到计算机硬盘。
(3)打开数字剪辑软件,导入所需视频素材。
2. 视频素材的剪辑与拼接(1)选择需要剪辑的视频片段。
(2)调整时间线,将视频片段按顺序排列。
(3)根据需要调整剪辑点,实现视频片段的拼接。
3. 视频特效的处理与添加(1)选择需要添加特效的视频片段。
(2)打开特效面板,选择合适的特效。
(3)调整特效参数,实现视频特效的添加。
4. 视频音频的调整与合成(1)选择需要调整音频的视频片段。
(2)打开音频面板,调整音频参数。
(3)将调整后的音频与视频片段进行合成。
5. 视频输出的设置与导出(1)选择输出格式、分辨率、码率等参数。
(2)点击导出按钮,将制作好的视频导出至指定位置。
五、实验结果与分析1. 实验结果(1)成功完成视频素材的采集与导入。
(2)成功完成视频素材的剪辑与拼接。
(3)成功完成视频特效的处理与添加。
(4)成功完成视频音频的调整与合成。
(5)成功完成视频输出的设置与导出。
2. 实验分析(1)通过本次实验,掌握了数字剪辑的基本操作流程。
(2)熟悉了数字剪辑软件的使用方法。
(3)提高了数字视频制作与处理能力。
六、实验心得与体会1. 在实验过程中,发现了自己在数字剪辑方面的不足,如对特效参数的调整不够熟练等。
2. 通过本次实验,对数字剪辑有了更深入的了解,为今后实际工作中处理视频素材提供了有力支持。
第1篇一、实验目的本次实验旨在通过非线性剪辑技术,探索数字视频编辑的灵活性和高效性。
通过实际操作,了解非线性剪辑的基本原理和操作流程,掌握剪辑软件的基本使用方法,提高视频制作的能力。
二、实验原理非线性剪辑是指利用计算机技术对视频素材进行非顺序的编辑处理。
与传统线性剪辑不同,非线性剪辑可以随时对视频素材进行增删、修改、复制等操作,大大提高了视频编辑的效率和灵活性。
三、实验设备与材料1. 实验设备:计算机、非线性剪辑软件(如Adobe Premiere Pro、Final Cut Pro等)、视频素材。
2. 实验材料:本次实验选用一部时长为10分钟的纪录片作为素材。
四、实验步骤1. 导入素材:将实验素材导入非线性剪辑软件,建立项目并导入视频素材。
2. 剪辑素材:根据纪录片内容,对视频素材进行剪辑,包括删除多余片段、调整顺序、添加过渡效果等。
3. 添加字幕:在适当的位置添加字幕,以增强视频的观赏性和信息传达。
4. 调整音频:调整视频的音频轨道,包括音量、音效等,使音频与视频同步。
5. 添加特效:根据需要,为视频添加转场效果、滤镜等特效,增强视频的视觉效果。
6. 导出视频:完成剪辑后,导出视频文件,可选择不同的视频格式和分辨率。
五、实验结果与分析1. 剪辑效果:通过非线性剪辑,将10分钟的纪录片剪辑成5分钟的视频,去除了多余片段,保留了核心内容。
2. 字幕效果:添加字幕后,视频的信息传达更加清晰,观众可以更好地理解视频内容。
3. 音频效果:调整音频后,视频的音质得到提升,观众可以更清晰地听到视频中的声音。
4. 特效效果:添加特效后,视频的视觉效果更加丰富,提升了观众的观赏体验。
六、实验总结1. 非线性剪辑技术具有高效、灵活、便捷等优点,可以显著提高视频制作效率。
2. 非线性剪辑软件功能丰富,操作简单,适合不同层次的用户使用。
3. 在视频制作过程中,要注意素材的选取、剪辑、字幕、音频、特效等方面的细节,以提高视频质量。
通信与信息工程学院2016 / 2017 学年第一学期课程设计实验报告模块名称数字视频非线性编辑制作专业广播电视工程学生班级B130114学生学号B13011413学生XX超指导教师锡林日期:2016 年11 月21 日摘要本次课程设计利用软件premiere进行数字视频非线性编辑制作。
本文首先就本次实验主题归纳总结电视节目制作一般流程方法,接着对此次课程设计主要软件工具进行系统介绍,主要涉及实验相关借本操作的详细阐述;接下来两大章节部分先从取材、构思角度详细分析此次课程设计所做的主题容与规划,并以此为指导再从具体操作上分步骤、多角度实现视频序列的制作;最后对本次课程设计的体味与收获进行思考。
此次作品《再次出发》电影鉴赏是将导演约翰卡尼的一部经典音乐影视作品利用premiere软件,在制作的过程中添加了转场特效,关键帧,字幕,音频等功能,并运用多种素材,重新删减编辑,形成一部情节连贯,容完整、主题明确的电影鉴赏短片。
短片的片长时间为9分40秒,大小为720*576,AVI格式,PAL 制式(48Khz)。
关键词:数字视频非线性编辑制作;premiere;视频制作;目录第一章电视节目制作的一般流程与方法11.1 电视节目制作一般流程11.1.1 前期制作流程11.1.2 后期制作工作流程21.2 电视节目制作的一般方法21.2.1 ENG方式21.2.2 EFP方式21.2.3 ESP方式3第二章Premiere的功能介绍及操作方法42.1 Premiere概述42.1.1 概述42.1.2 基本操作界面42.2 Premiere的基本操作52.2.1 新建项目52.2.2 新建序列62.2.3 导入素材62.2.4 基本的视频编辑操作6第三章电视节目素材的准备及节目构思103.1 节目构思103.1.1 概念103.1.2 具体构思103.1.2.1 选题103.1.2.2 构思113.2 素材的准备12第四章电视节目具体的制作过程134.1 特技处理134.2 设计字幕144.2.1 打开字幕窗口设置对话框144.2.2 设置绘图区域尺寸154.2.3 显示字幕安全区设置154.2.4 建立文字对象164.3 音频处理184.3.1 添加音频的方法184.3.2 音频素材的剪辑方法184.3.3 编辑音频素材184.3.4 使用“调音台”面板194.3.5 应用音频转场194.3.6 使用音频特效204.4 序列实现20第五章课程设计小结21参考文献22评分表格23第一章电视节目制作的一般流程与方法1.1 电视节目制作一般流程1.1.1 前期制作流程第一阶段:构思创作(1)节目构思,确立节目主题,搜集相关资料,草拟节目脚本。
实验三视频处理实验一、实验目的(1) 掌握“Premiere”或“绘声绘影”或“电影魔方”的窗口、工具、特效等使用;(2) 学会视频的拼接技术;(3) 能够为视频添加过渡效果;(4) 学会为视频添加字幕;(5) 学会为视频添加声音;(6) 能够使用“Premiere”或“绘声绘影”或“电影魔方”输出视频。
二、实验内容(实验性质:设计性、综合性)参照教材:P.267~269实验7~实验8完成:1) 从服务器的“媒体资源”中下载“视频素材”并保存到E盘学生文件夹中。
2) 用“Premiere”或“绘声绘影”或“电影魔方”软件编辑多段视频、音频、字幕等,运用特效完成视频处理(可用自己准备的素材)。
三、实验过程记录及结果1.在E盘的根目录下创建自己的工作文件夹:“E:\10新闻02班宋可20101750”。
2.从服务器server01的课程资源中的“媒体资源”中下载“视频素材”,并保存到“10新闻02班宋可20101750”目录中。
服务器中具体的网络路径:\\server01\【多媒体技术基础】课程资源\媒体资源\视频素材.rar。
3.视频素材解包后有“视频”、“图片”、“音频”素材。
4.启动“Premiere Pro CS4”视频处理软件,在“E:\ 10新闻02班宋可20101750”目录创建项目文件:“10新闻02班宋可20101750.prproj”,见图1所示。
4.新建视频编辑序列:10新闻02班20101750宋可,并设置视频参数:“DV-PAL 标准48KHz”,见图2所示。
5.在“媒体浏览”窗口选择要导入的视频,并用拖放导入进项目中,见图3所示。
6.将待编辑的视频拖放到时间窗口中的“视频1”轨道中,见图4所示。
7.运用“视频切换”的转场特效,将片首、片尾和片与片时间加入转场特效(用拖放方式加入),见图5所示。
8.用拖放方式将音频素材加入到音频轨道1中,并用“剃刀工具”将音频的首部和尾部没有声音的部分切掉,见图6所示。
实验8 数字视频播放器实验目的:1.进一步掌握MCI函数的应用。
2.制作数字视频播放器,并具有以下功能:打开视频播放设备,播放视频文件,可静态观看每一帧视频,并且可设置播放速度,还能在全屏播放与正常播放之间转换。
实验步骤:一如实验1建立应用程序框架二制作应用程序界面1.制作对话框对话框控件属性表现在在应用程序中插入一个对话框资源(插入—资源—对话框),用来设置播放速度,其ID 设为IDD_SPEED:IDD_SPEED对话框控件属性表还需象应用程序中插入一个对话框资源,用做视频输出窗口,ID为IDD_DISPLAY。
2.制作菜单插入一个菜单资源,将ID设为IDR_MAINFRAME。
IDR_MAINFRAME 中的菜单项在你的主对话框的属性中的菜单项中,选中IDR_MAINFRAME现在编译一下,就得到了我们所要的界面。
3.添加消息处理函数(查看——建立类向导)在C***Dlg中需要添加的消息处理函数然后为IDD_SPEED对话框资源添加一个int m_speed成员变量(选择IDD_SPEED对话框资源,右键选中建立类向导,新建类CSpeed,在该类中选中成员变量一项,选中ID C_SPEED1双击添加成员变量int m_speed)三完成应用程序功能设计1.将已设计好的类Cvideo加到你的工程中来(先把文件video.cpp和video.h拷贝到工程文件目录,在fileview中分别选择源文件和头文件目录,右键选择将文件添加到工程中,把这两个文件添加进工程目录中),并使C***Dlg的头文件包含该类的头文件(#include “video.h”; #include “speed.h”),然后在C***Dlg类的声明中加入以下代码:protected:CVideo m_Video;bool m_bIsOpen;bool m_bSound;bool m_bLoop;bool m_bFullScreen;CDialog *display;2.初始化你的主对话框在OnInitDlialog()中// TODO: Add extra initialization here后加入以下代码:display=new CDialog;display->Create(IDD_DISPLAY);SetTimer(1,100,NULL);3.完成消息函数OnTimer, OnOpen, OnPlay, OnStop, OnPause,OnPre, OnNext, OnSound,OnLoop, OnFullScreen, OnSpeedvoid CVideoPlayerDlg::OnTimer(UINT nIDEvent){// TODO: Add your message handler code here and/or call defaultCWnd *m_pWnd=GetDlgItem(IDC_PLAY);m_pWnd->EnableWindow(m_bIsOpen);m_pWnd=GetDlgItem(IDC_PAUSE);m_pWnd->EnableWindow(m_bIsOpen);m_pWnd=GetDlgItem(IDC_STOP);m_pWnd->EnableWindow(m_bIsOpen);m_pWnd=GetDlgItem(IDC_NEXT);m_pWnd->EnableWindow(m_bIsOpen);m_pWnd=GetDlgItem(IDC_PRE);m_pWnd->EnableWindow(m_bIsOpen);if(m_bIsOpen){CString Info;Info.Format("当前播放帧数:%d",m_Video.GetFrame());m_pWnd=GetDlgItem(IDC_DISPLAY);//获得静态图像控件位置CClientDC dc(m_pWnd);CRect rect;CBrush brush(COLORREF(0)),*OldBrush;OldBrush=(CBrush*)dc.SelectObject(brush);m_pWnd->GetClientRect(rect);//获得静态图像控件大小dc.SetTextColor(COLORREF RGB(0,0,255));dc.SetBkColor(COLORREF RGB(0,0,0));dc.FillRect(rect,&brush);CSize size=dc.GetTextExtent(Info);//获得文本尺寸dc.TextOut((rect.Width()-size.cx)/2,(rect.Height()-size.cy)/2,Info);dc.SelectObject(&OldBrush);CString str;str.Format("%d",m_Video.GetSpeed());SetDlgItemText(IDC_PLAY_SPEED,str);str.Format("%d",m_Video.GetFrames());SetDlgItemText(IDC_FRAMES,str);if(m_Video.GetSound())str=_T("否");elsestr=_T("是");SetDlgItemText(IDC_PLAY_SOUND,str);}CDialog::OnTimer(nIDEvent);}void CVideoPlayerDlg::OnOpen(){// TODO: Add your control notification handler code hereCString Filter,str;Filter=" 视频文件(*.A VI)|*.A VI||";// 得到窗口尺寸CRect rect;this->GetWindowRect(rect);CFileDialog FileDlg(true,NULL,NULL,OFN_HIDEREADONL Y,Filter);if(FileDlg.DoModal()==IDOK)//单击文件选择对话框的“确定”键{if(!m_Video.Open(FileDlg.GetPathName(),display,0,0))//打开视频文件{MessageBox("不能打开文件!","Error",MB_OK|MB_ICONSTOP);return;}//将显示屏幕定位在主对话框的下方,并根据视频大小确定屏幕大小int Border,Caption;Border=GetSystemMetrics(SM_CXSIZEFRAME);Caption=GetSystemMetrics(SM_CYCAPTION);display->SetWindowPos(this,rect.left+30,rect.bottom+30,m_Video.GetWidth()+Border,m_Video.GetHeight()+Caption+Border,SWP_SHOWWINDOW);display->ShowWindow(true);display->SetWindowText(FileDlg.GetFileName());SetDlgItemText(IDC_VIDEO_NAME,FileDlg.GetFileName());str.Format("%d×%d",m_Video.GetWidth(),m_Video.GetHeight());SetDlgItemText(IDC_DEMENSION,str);m_bIsOpen=true;}}void CVideoPlayerDlg::OnPlay(){// TODO: Add your control notification handler code herem_Video.Play(m_bLoop,m_bFullScreen);}void CVideoPlayerDlg::OnStop(){// TODO: Add your control notification handler code here m_Video.Stop();}void CVideoPlayerDlg::OnPause(){// TODO: Add your control notification handler code here m_Video.Pause();}void CVideoPlayerDlg::OnPre(){// TODO: Add your control notification handler code here m_Video.Backward(1);}void CVideoPlayerDlg::OnNext(){// TODO: Add your control notification handler code here m_Video.Forward(1);}void CVideoPlayerDlg::OnSound(){// TODO: Add your command handler code herem_bSound=!m_bSound;m_Video.SetSound(m_bSound);}void CVideoPlayerDlg::OnSpeed(){// TODO: Add your command handler code hereCSpeed dlg;dlg.m_speed=m_Video.GetSpeed();if(dlg.DoModal()==IDOK)m_Video.SetSpeed(dlg.m_speed);}void CVideoPlayerDlg::OnFullscreen(){// TODO: Add your command handler code herem_bFullScreen=!m_bFullScreen;}void CVideoPlayerDlg::OnLoop(){// TODO: Add your command handler code herem_bLoop=!m_bLoop;}现在编译执行,视频播放器变完成了。