第一篇:视频分析材料
小班健康分析
健康领域里面有三个目标:
1、身心状况;
2、动作发展;
3、生活习惯与生活能力;这次视频是从第二个目标动作发展来分析的。
1、动作发展的第二个目标:具有一定的力量和耐力。
(1)单手扔沙包2米左右(跳绳距离-2米),视频中,绝多数幼儿投掷能力发展挺好,(2)单脚跳连续跳2米,只有很少一部分幼儿完成度较好,能够单脚连续跳2米左右,但是大部分幼儿单脚跳不行,所以单脚跳的能力需要加强。
(3)双手抓杠悬空10秒,视频处出现3位小朋友,可以明显看出来男孩发展比女孩好。
2、动作发展里面第一个小目标:具有一定的平衡力,动作协调、灵敏。(要求分散跑时,能躲避他人碰撞),但是通过观察视频,双方扔球时躲避、闪,孩子处于懵懂状态。这部分还需要加强锻炼。
中班社会领域分析(美容美发店)
幼儿社会性主要实在日常生活和游戏中通过观察和模仿潜移默化的发展起来的,社会领域有两个子领域,1、人际交往;
2、社会适应。本次活动主要以人际交往为主,1、目标2中,能与同伴友好相处,(2)对大家喜欢的东西能够分享,(4)活动时候愿意接受同伴的建议和意见(小男孩拿起一样东西,向自己的理发师询问,这时美容师过来说这是化妆用的,随机就放下了)如果是换做大班幼儿,这个地方要求要提升一个层面(大班要求能倾听和接受他人的建议和意见,不能接受时要说明理由)。
2、目标3中,具有自尊自信和自主的表现,(1)孩子能按照自己想法进行游戏,(3)而且自己事情自己做,不依赖别人(四个小朋友,尤其是美容师和理发师,能按照自己已有的经验为同伴服务,美容师找东西时没有依赖别人,而是自己想了想,去隔壁材料盒里面找自己需要的东西)
大班活动分析
根据“《3-6岁儿童学习与发展指南》分析以下内容: 1.社会领域人际交往目标一指出“有问题愿意向别人请教”(向教师请教制作菜单)目标二指出“活动时能与同伴分工合作,遇到困难能一起克服”。活动中的幼儿已基本掌握这一目标,他们游戏时分工明确,并愿意向老师请教。(从酒缸舀酒,做面点、做菜单、服务员等)
2.语言领域倾听与表达目标二指出“愿意与他人讨论问题,敢在众人面前说话”这一目标幼儿也已基本掌握,他们讨论菜品、菜单制作,大多数幼儿敢在众人面前说话。幼儿在活动中能注意倾听别人讲话并能积极回应(幼儿说我吃什么 其他幼儿积极回应)。语言领域目标三文明的语言习惯(,幼儿点餐的时候说要鱼,服务员说稍等,)整个环节中幼儿)目标3中,幼儿愿意用图画和符号表示事物(做菜单的时候用符号来表示菜名)
3.健康领域动作发展目标三指出“能熟练使用筷子”观察过程中,幼儿能正确使用筷子来夹面点。而且孩子在制作过程中,手的能力发展很好,通过捏、团、按、揉等,说明小肌肉发展水平达到大班幼儿能力。
4.科学领域科学探究目标二指出 “在成人的帮助下能制定简单的调查请分并执行”(制作菜单和账本)。探究中能够与他人合作与交流”活动中,幼儿参与制作计划表,分工合作有条不紊,变交流边制作很好的体现了这一目标。
第二篇:英语教学视频分析
教学视频分析
本次教学视频是南京外国语学校的一名教师的讲授的一堂听力课。该课堂教学设计环节包括:引入、单词教授、听力练习及回答问题等环节。
从教学视频上分析,学生处于初中二年级,理论上这些孩子是好动且积极的。并且,从教师的教授过程中,可以看出,当老师在进行大量信息量灌输的时候,学生往往反应不够积极,且通常在教师重复语句和问题时,学生才能够理解信息,但如果教师让学生自己讨论或观看PPT之后,学生回答问题的积极性及准确率得到了较大提高。因此,我小组认为,该班级的学生的学习风格应该是偏向视觉型及动觉型的。接下来,我小组将依据教学流程对该教学视频中教师应对学生风格的不同,而采用的教学方法是否得当进行分析。
首先,在引入部分,她先自我介绍,并提问学生一些问题,关于青岛和南京特产等方面的问题,根据学生回答引入本节新课,在这个环节,她充分考虑了听觉型,和体验型,以及触动型的学生,成功的引入新课,而且也带动了学生的兴趣。应当说,这个环节上,三种学习风格的学生都有积极参与进课堂。
然后,教师通过图片的认知考虑到视觉型的学习者,在讲授单词部分的时候,花费时间过多,而且,教师只是一直在讲单词的用法,不停的灌输语言,只照顾到了听觉型的学生,没有和学生有过多的互动。看的出来,偏向听觉型的学生很好的理解了教师的意图,而大部分视觉型和动觉型的学生却没能积极融入进去。这位老师忽略了这一点,因此该环节的教学效果并没有她预期的那么好。
接下来的听力练习,照顾到了听觉型的学习者,再进一步的以问题形式提出的听力练习考虑到听视觉型的学习者。在后面的教学中教师穿插了多个问题的讨论,回答环节充分刺激了动觉型的学习者,并且通过送礼物以奖励学习者的行为,巩固和强化了学习者学习的积极性。且在整个上课阶段,该老师使用了PPT,video等多媒体设备,这点她考虑到了视觉性学生的需求。
总体来说,因为教师对学生的学习风格把握不够彻底,因此导致了整堂课上更多出现的是听、看,只有听觉型和视觉型的学生参与了课堂,而动觉型的学生明显不够积极,导致了学生的说、做却没能做到更好。
第三篇:视频广告分析
一、广告策策划
(一)广告目标
总目标:
丰田一切行动的目的都是要在快速发展的中国市场上增强竞争力 在中国实现本地化生产不是为了短期利益而是要在中国扎下根来 分目标:
丰田无疑是世界汽车领域里最成功的制造商之一,它的成功很大程度上取决于其集团发展策略。丰田的集团发展战略包括这样几个方面:首先是产品生产紧随市场而变的策略。丰田集团一直专注于汽车市场中的高级车细分市场,这个细分市场体现着各个品牌的不同特质,并且显示出更强的增长潜力。为了贯彻这一运营方针,集团将增长和拓展作为运营战略的两个主要着眼点。
(二)广告定位
奔驰强调高贵,丰田则强调豪华;如果说奔驰强调稳重,丰田则强调动力;如果说奔驰强调身份,丰田则强调时尚,强调新潮;如果说奔驰强调正式,丰田则强调非正式。
丰田给人的感觉是比较浮夸,比较嚣张。的确,开丰田的人通常是意气风发的人,自我感觉比较好;开丰田的人自我表现欲也比较强,穿着比较讲究,比较新潮 从年龄上看,主要是年轻人,女孩子特别情红色威驰,也有中年和老年人;还有一类商人,通常称为“暴发户”,“暴发户”的自我感觉很好,所以开丰田。喜欢丰田的还有 “公子哥”,父母有钱,自己不愁柴米油盐;演艺界明星也喜欢开丰田,因为时尚;运动员也喜欢开丰田,因为动感比较强。
总体上看,丰田就是强调夸张。丰田的品牌塑造显示大家风范。其广告诉求一直坚持强调丰田自身精致的设计,也正是这种精益求精的企业理念和创意要求,使丰田成为世界的知名品牌,也使丰田在汽车行业中得以与其他品牌并驾齐驱。
二、广告费用 电视广告:
电视广告播出时间及费用:晚间19:57广告费用198000元 剩下时段费用依次减少:最低58000元
广告播出总体费用:1000万元(晚间时段广告连续每天播出,剩下时段间歇性播出)
另外,明星费用200万元,制作费用100万,其他费用200万。
总体费用1500万元。
三、广告效果
(一)认同度
各种传播途径评价指标之一是目标消费者对该种传播途径的认同度。首先央视一套黄金时段播出,每天连续播出,用名著来演绎广告。既做到唤起消费者消费心理,又可以是广告深入人心,达到宣传效果。其次,电视广告也是目标消费者认同度较高的传播途径。
(二)影响力
电视广告的传播途径的影响力是最大的,每日的连续播出,并间歇性在不同时段播出,利于广告的受众增加,提高影响力。影响力和认同度的情况相是一致,这说明了电视传播途径的重要性。
(三)喜好度
各种广告类型中,按照喜好度由高到低依次是电视广告、报纸广告、杂志广告和宣传单等。随着消费人群的发展,消费心理的复杂,在一些高速路的路口,可以设立路牌广告,并且加作报纸、杂志广告,扩大广告影响力。
(四)广告引发的购买
在随着广告的深入,影响力的增加,对于购车一族的心里加以研究,将会推动宝马汽车在市场的占有率,并推进宝马车的销售量。
四 广告创意:车到山前必有路,有路必有丰田车
“向前梦想将至,全新威驰”丰田的这句广告语绝对堪称经典广告语,几乎所有广告学教材的成功案例上都能找到它的身影。80年代,中国的道路上除了除了国产汽车就只有日本的进口车了。丰田汽车作为当时日本最大的汽车公司自然在中国市场上牛气冲天,而这句精彩的广告语也很符合当时的情况。丰田巧妙地把运用了中国的俗语,体现出十足的自信与霸气,且朗朗上口。如今,虽然丰田汽车已经不敢再这样说大话了,但这句话还是高频率地出现在丰田车的广告中,很多中国人还是记住了这句广告语。五 广告启示
红色的威驰车受广大女性的喜爱,因为它能显示女性的美,追求驾乘乐趣、创新的理念。体现中国传统文化,崇尚个性。
信奉“通路为赢”,实行“通路深耕”的渠道策略。确保高级轿车的霸主地位,引导该市场潮流 懂你,源自十年的维护经验;
关心,不仅仅是将你放在心上,而是每时每刻为你着想,为你营造更加便捷周到的服务体验专业,所以更懂你;因为关心,所以更贴心—丰田之家,懂你更会关心你。
第四篇:牛顿第一定律教学视频分析
学校教育心理学作业
科目: 学校教育心理学
题目:牛顿第一定律教学视频分析 姓名: 郭杉 学院: 物理学院
学校教育心理学作业
牛顿第一定律教学视频分析
作为一名师范生,掌握教师职业相关的基本理论、锻炼教师技能是十分必要的。其中,学校教育心理学就是一门不可或缺的理论课。因此,在学习了学校教育心理学后,我尝试对高中物理的牛顿第一定律教学视频进行教育心理学的分析。
本文所分析的视频为海南省海口市实验中学的杜和蔓老师在第六届全国中学物理青年教师教学赛中的视频。视频所讲授的内容是牛顿第一定律,讲授对象为高一年级学生。杜和蔓老师事先将学生们分为四个小组,每个小组前面摆放着记分牌。开始时,她先进行了知识小竞赛以回顾初中学过的概念,然后引出高中的牛顿第一定律并作比较;列出概念之后,杜和蔓老师又引出“牛顿第一定律是怎样建立起来的”这一问题,讲述历史后让学生扮演伽利略思考并做实验演示,然后进行讲解并总结,完成牛顿第一定律的建立过程;于是她从牛顿第一定律又引出惯性的概念及性质并让学生根据所学内容解释现象进行练习;最后,她从知识内容、过程与方法、情感态度与价值观三个方面让学生做整节课的总结,选出小组冠军并留下课后思考题。
观看过视频后,我认为整节课中杜和蔓老师所运用的教育心理学理论含有以下三个方面:
一、认知加工
在课堂开始的知识小竞赛结束后,杜老师由此引出初中学过的牛顿第一定律,并提问学生初中时定律是如何描述的;之后直接给出高中牛顿第一定律的表述,将两个表述放在PPT上让学生分析相同和不同之处,然后进行总结。
我们知道,高一学生学习牛顿第一定律时离初中毕业已有一段时间,这中间学习的东西对高中学习牛顿第一定律产生前摄抑制而造成一定的遗忘。但学生经过之前大量的题目练习已使这一陈述性知识储存在长时记忆中,通过回忆可以激活进行提取。因此,杜老师对初中牛顿第一定律的复习回顾是很有必要的。并且,她将初中和高中的同一概念不同表述让同学们进行分析比较,更有利于学生对知识进行精制性复述。精制性复述即指将要记忆的信息与储存在长时记忆中的信息建立联系的过程。通过联想、分析、比较、推理等等过程,学生得以完成精制性复述。
因此,通过新旧知识建立联系,促进了学生对高中牛顿第一定律这一概念的理解,并使其进入长时记忆,更长久地保持;而且,通过精制性复述而进入长时记忆的新知识,当需要从长时记忆中提取时,能够更容易对信息进行检索。
二、学习动机的激发与维持 1.激发与维持外在动机
外部强化可以激发外在动机,从而影响学生的学习行为。在课堂中,老师可以运用目标、反馈、评价、表扬、批评、竞赛等各种强化手段激发和维持学生的外在动机。在杜和蔓老师的课堂中,她运用了开展竞赛和评价、表扬的方法来激发和维持外在动机。
(1)开展小组竞赛
竞赛是激发学习积极性的有效手段。
杜和蔓老师事先将学生随机分为四组,每组的第一排放置记分牌,起始分都是二十分。首先她通过知识竞赛的方式给各出组的学生解释物理现象的题目,小组之间题目不相同,同组学生题目相同。然后,她从每组中随机选出学生代表他 学校教育心理学作业
们小组回答题目。回答正确的组将加10分,回答的不完整或不正确不扣分。之后的环节便是抢答,老师在讲课过程中随机提问可以加分的问题,学生抢答正确可以加20分或30分等,回答的不完整或不正确不扣分。最后,在整节课快要结束的时候宣布冠军组。
这样一来,学生学习的积极性是很高的。因为小组之间存在竞争,所以每组的成员就成为了一个整体,学生们为了集体荣誉,将会认真听课、积极互动,从而达到激发与维持外在动机的效果。
(2)评价、表扬
教师对学生的学习结果进行适当的评价具有强化的作用。表扬作为学习的外部诱因,能够给学生的学习活动以肯定的强化,从而巩固和发展学生的学习动机。
杜和蔓老师在整节课中对学生的评价和表扬有二十多次。比如在一位女同学回答了初中时学过的牛顿第一定律的概念后,杜老师给出“记得非常清楚”的评价,其他则经常根据学生所回答的问题进行分析。杜老师常用的表扬语言还有“很不错”、“好”、“很好”“非常好”,除此之外,她还经常问同学们“(这位同学)他答得好不好/对不对?”等问题,让全体同学给予回答问题的同学积极的评价。
这些评价和表扬将给学生很大的鼓励,从而肯定了学生认真学习、思考的态度,使学生积极参与课堂这一活动得到强化,从而能使学生树立信心,提高其自我效能感,进而使外在动机得以激发与维持。
2.激发与维持内在动机
激发与维持内在动机的措施有很多,杜老师则主要从培养学生学习兴趣和创设问题情境,引起学生的认知矛盾激发求知欲入手。
她选取了在太空舱中宇航员能做匀速直线运动的视频、汽车行驶要系安全带的视频使理论联系实际,能够扩大学生的知识面,学生在某一领域的知识不断积累是其对某一具体知识领域产生稳定而浓厚兴趣的基本条件;她还选取了扎破水气球瞬间的视频,并现场演示了敲击纸板,纸板被击飞纸板上的鸡蛋却落入纸板下的杯中的实验,这两个实验与学生的已有知识信念相矛盾,从而引发学生的求知欲。此外,杜老师用视频、演示实验、PPT、角色扮演等多种方式呈现教学内容也能培养学生的学习兴趣从而激发与维持内在动机。
可以看出,杜和蔓老师将外在动机的激发和维持与内部动机的激发和维持相结合,达到了很好的效果。
三、教学策略
我认为杜和蔓老师采用的是传统的教学方式,即有讲授、提问、组织讨论、布置课堂练习和家庭作业环节的一般方法。我之所以认为仍是一般授课方式,是因为在整堂课中老师的讲还是占了大部分。但是这堂课在传统中有创新,即加入了启发式教学的思想。
我认为在杜老师的课堂中,提问环节是很出彩、很有技巧的,因此课堂中师生之间的互动交流很活跃。她的提问分为两种,一种是引导性的、要求全体学生回答的;一种是面向全体学生,但会随机让某一位同学回答的。并且,她的提问是一步一步有层次的,有时也会让学生提出问题。通过提问,老师不仅了解了学生对知识的掌握情况,而且给学生提供了对理解水平自我监控的机会,同时也促进学生积极思考,即积极地进行信息加工,有助于学生理解新知识、使知识进入长时记忆中贮存。
除了提问,她还设计了一个模拟实验环节。她让学生进行角色扮演,提出“如果你是伽利略你会怎样反驳亚里士多德的观点”的问题让学生阅读教材并进行思 学校教育心理学作业
考体会,然后她选出一名学生自主进行实验模拟,通过学生的做实验讲解和老师Flash动画演示引导同学们总结出整个实验的探究过程。
很显然,杜老师层次分明的提问和模拟实验已然体现出启发和探索的思想。她通过提问和自主实验,一步一步引导、启发学生完成学习任务。她所注重的是学生的主体性和其独立思考解决问题的能力。蒋敦杰在全国基础教育课程改革教学工作经验交流会上的评价是“与通常贯穿全过程的讲不同的是,老师的讲,不是基于给学生知识结论的灌输和传授,而是借助老师的讲,唤醒学生的主体意识,问题意识,任务意识,思考意识,建立起以学生为主体的有意义的学习活动”。并且,在探索方面,杜和蔓老师认为“探索是思想的活动,可以是集体,可以是个人,可以是独立的,可以是互动。比课堂热闹更重要的是每个学生认真的倾听和每个人的独立思考。”可以看出,虽然课堂并不完全是发现学习,但思想却是一致的。
总的来说,杜老师的这堂课是有趣、生动、清晰的。在整个课堂中,体现了学生的主体地位和教师的主导地位。在新一轮基础教育课程改革刚实行的第一年杜老师能够这么出色完成转变,实在是很厉害。在课堂的最后,她还让同学们总结了三维教学目标——知识与技能、过程与方法、情感态度与价值观,然后将自己之前确定的目标展示出来进行对比,学生基本完成了她所确定的教学目标。当然这其中也有任务分析的教学目标的组织法的教育心理学依据。
以上就是我对杜和蔓老师牛顿第一定律的一些理解与分析,由于能力限制也许有的有些偏差。其实课堂中还有很多细节运用了教育心理学理论,不仅仅限于这几方面。如今离2004年高中新课改实行已经十年了,教学方式、课程结构、课程评价都在新课改中日渐成熟。我们作为师范生将会积极地作理论和实践的准备,以后为基础教育献出一份力量,这也是我们应该和必须做的。
参考文献:
[1]路海东.学校教育心理学[M].长春:东北师范大学出版社,2005.8:2-9;92-114;197-210.
第五篇:视频播放器设计分析
视频播放器设计 需求分析
由于计算机的普及,极大地改变了人们的生活。随之带来了开发各种软件的需 求。家用型计算机主要用于家用软件、学习软件、游戏软件和多媒体和多媒体软件,以及播放CD、VCD、DVD、MP3等多媒体信息。然而多媒体播放器的开发仍然不能满足人们的需求,多媒体文件格式多样,但却没有一款播放器能够满足所有格式的解码。人们渴望解码能力更强大,功能更完备的多媒体播放器。
“多媒体”是一种新型的信息处理与传播技术。有人认为它是信息及其传输媒介方面的一场根本革命。人们对新技术的渴望和欢迎、新奇感和占有欲、宣传热情和赞美态度,是发自内心的。特别是计算机多媒体技术的功能,令人大开眼界,惊叹不已。它在商业、信息检索、文化娱乐和教育等方面的应用效果明显,前景广阔。
由多媒体播放器的开发现状看来,并没有哪一款播放器能适应所有多媒体文件的解读,随着视频、音频的迅猛发展,媒体文件的格式层出不穷,由过往美国在线(AOL)公司的Nullsoft部门开发的Winamp独占鳌头,到Real Networks公司的Real Player和微软公司的Windows Media Player风靡全球,再到如今播放器开发的百花齐放的竞争时代,多媒体播放器的开发经历了许多风浪和变化,但是,仍然没有出现全能的播放器,始终没有跨越编码格式的局限,随着多媒体技术的不断发展,人们对多媒体软件的要求也不断高涨,所以对多媒体软件的开发也成为当今计算机开发的重要课题。目前的音频、视频格式繁多,研制格式覆盖面广的多媒体播放器前景非常广泛。
随着计算机、家电、通信等技术的不断发展,多媒体技术有着广泛的开发前景,尤其是多媒体播放器的开发,开发格式覆盖面更广,兼容性更好,功能更完备的播放器势在必行。本文主要采用C++ Builder2009作为开发工具,设计并实现一个多媒体播放器。可播放MP3,AVI,WMV,WMA,RM,RMVB,SWF等多种格式的多媒体文件,并且能够控制播放,暂停,停止,快进,后退,音量控制的调节,选择上一曲,选择下一曲,图像的显示,文件的计时,列表文件的添减操作等多种播放控制功能,界面简明,操作简单。系统总体设计
2.1DirectShow概述
DirectShow是一种通过自定义或内置的大量的Filter(过滤器)来处理多媒体数据的体系结构。这些Filter大致分三类:Source Filter(源过滤器)、Transform Filter(转换过滤器)、Render Filter(呈现过滤器)。源过滤器主要负责获取数据,数据源可以是文件、网络、计算机采集卡或数字摄像机里的,然后数据向下传输到Transform Filter,它主要负责数据的格式转换,然后继续向下传输到Render Filter,它主要负责数据的最终去向,将数据送给显卡声卡进行播放或输出变成文件存储起来,见图2-1。
应用程序命令DirectShow过滤器图表管理器Filters Graph Manager应用程序源过滤器SourceFilters转换过滤器TransformFilters呈现过滤器RenderFilters应用程序事件音视频采集设备各种软硬件解码器声卡显卡
图2-1 DirectShow开发应用程序原理图
过滤器Filter是建立在COM技术基础上的,每个Filter本身就是一个COM组件,各个Filter集合组成过滤器图(Filter.Graph),DirectShow提供Filter Graph Manager组件来管理整个过滤器图,比如Filter间的连接和数据流动。Filter之间通过Pin(针脚)连接。
更多感性认识DirectShow,可以DirectX SDK中的自带的实用的程序GraphEdit,位于安装目录BinDXUtilsgraphedt.exe。GraphEdit是构造Filter Graph Manager的可视化工具,在GraphEdit中可以很方便地设计出过滤器图,并验证其可行性。比如:播放一个典型的Demo1.mpg文件(将文件拖动到GraphEdit窗口)所自动构建的Filter Graph。见图2-2。
MPEG Audio DecoderDemo.mpgMPEG-1 Stream SplitterMPEG Video DecoderVideo RendererDefault DirectSound Device图2-2 MPEG文件播放的Filter Graph 如图2所示,箭头方向即是数据的流动,可以看到:MPEG-1 Stream Splitter属于Source Filters,负责接收源文件数据;MPEG Audio Decoder、MPEG Video Decoder属于Transform Filters;分别负责视频、音频的解码;Default DirectSound Device、Video Renderer属于Render Filters,分别负责对视频显示和音频播放。执行菜单Graph->Play,可以看到播放的影音文件。在Graph->Insert Filters可以看到DirectShow提供的大量的支持基本应用的Filter。2.2软件的总体架构
AVI视频RMVB视频 视频指针解码主界面用户 图2-3 软件架构
2.3 详细设计与实现
下面在C++ Builder中,利用DirectShow技术设计媒体播放器,介绍了DirectShow程序的一般编写方法。以两种方法实现:一种是直接用DirectX SDK;另一种是用基于DirectShow技术的第三方控件包DsPack。
2.3.1 直接用Direct X SDK中的DirectShow技术的媒体播放器。
用DirectShow编写播放器,可以说主要包括三步: ①创建一个Filter Graph Manager组件。
②根据实际的应用,创建一条完整的链路。比如播放一个本地文件:m_FilterGraph->RenderFile(“Demo1.mpg”,NULL);
③调用Filter Graph Manager(或某个Filter)上的各个接口方法进行控制。并完成Filter Gramph Manager与应用程序的事件交互。比如IMediaControl接口方法Run()、Stop()来控制媒体的播放与停止。
在本实例中,第一步创建一个Filter Graph Manager组件,由自定义的封装类CDXGraph来完成,它的实现文件是CDXGraph.cpp和CDXGraph.h。第二三步要实现与CDXGraph之问的事件交互。由主窗口MainForm(MainUnit.cpp和MainUnit.h)完成。
该程序部分主要代码如下:
//定义基本接口。IGraphBuilder是最重要的接口,用于构造Filter graph;IMediaControl播放控制接口,控制播放、停止、暂停等;IMediaEventEx:应用程序通过此接口获得播放过程中发生的事件,如播放完毕等。IBasicVideo、IBasicAudio分别是图像和声音控制接口;IVideoWindow视频窗口控制接口;IMediaSeeking用于媒体数据流的定位,提供对播放的精确控制,如获得当前播放位置等。
IGraphBuilder *mGraph;
IMediaControl *mMediaControl; IMediaEVentEx *mEvent;
IBasicVideo *mBasicVideo; IBasicAudio *mBasicAudio; IVideoWindow *mVideoWindow; IMediaSeeking *mSeeking;
//用API函数初始化COM组件库CoInitialize(NULL);
//创建Filter graph对象,得到IGraphBuilder接口的接口指针mGrph HRESULT hr=CoCreateInstance(CLSID_FilteGraph,NULL,CLSCTX_INPROC_SERVER,IID_IGraphBuilder,(void * *)&mGraph);
//用QueryInterface()函数获取接口指针
hr = mGraph-> QueryInterface(IID_IMediaControl,(void * *)&mMediaControl);
hr = mGraph-> QueryInterface(IID_IMediaEventEx,(void * *)&mEvent);
hr = mGraph-> QueryInterface(IID_IBasicVideo,(void * *)&mBasicVideo);
hr = mGraph-> QueryInterface(IID_IBasicAudio,(void * *)&mBasicAudio);
hr = mGraph-> QueryInterface(IID_Ⅳideowindow,(void * *)&mVideowindow);
hf = mGraph-> QueryInterface(IID_lMediaSeeking,(void * *)&mseeking);
//连接输入输出Pin针脚,连接各个Filter hr=mGraph-> ConnectDirect(inOutputPin,inInputPin,inMediaTyp); //IGraphBuilder接口的方法RenderFile来连接给定的媒体文件,完成Filter Graph的构建。
m_FilterGraph-> RenderFile(m_SourceFile.c_str()); //设置视频窗口并设置消息通知窗口
m_FilteGraph-> SetDisplaywindow(Panell->Handle); m_FilteGraph-> SetNotifyWindow(this->Handle); //开始播放
m_FilteGraph->Run(); „„
//关闭COM组件库,释放资源 CoUtlinitialize();
2.3.2 基于DirectShow技术的第三方控件包DSPack的媒体播放器
Dspack2.34是C++ Builder中用于做DirectShow开发的免费VCL控件。下载地址:http://www.xiexiebang.com/。DSPack的安装可以参考相关文档。
图2-4组件面板上的DSPack2.34 Dspack2.34中有七个组件:FilterGraph、VideoWindow、SampleGrabber、Filter、ASFWriter、DSTrackBar、DSVideoWindowEx2。见图5-1。
FilterGraph组件基本对应于DirectShow中的Filter Graph Manager,Filter Graph的创建和控制由它完成。Filter组件可以充当DirectShow中的各种Filter,VideoWindow组件相当于是一个RenderingFilter,用来显示采集到的视频图像。其它各组件的详细说明可以参照DSPack安装目录下的帮助文档help.chm[2-3]。
程序由一个主窗体MainForm组成。MainForm窗体上放置FilterGraph组件,属性Name命名为FilterGraph,Mode属性为gmNormal;放置VideoWindow组件,FilterGraph属性设置为FilterGraph;放置DSTrackBar组件,用于显示播放进度;其它放置0penDialog、MainMenu、四个Button组件,Caption分别设置为打开、播放、暂停、停止。
MainForm中主要代码如下:
Buttonl的0nclick事件添加如下代码: if(0penDialog-> Execute())|FilterGraph-> Active = TRUE;//初始化各个Filter,并建立FilterGraph FilterGraph-> RenderFile(OpenDialog->FileNalm);
//播放文件名给FilterGraph
} Button2的OnClick事件添加如下代码:
FilterGraph-> Play(); //控制FilterGraph的播放 Button3、Button4的0nclick事件分别添加如下代码: FilterGraph-> Paus(); //播放暂停 FilterGraph-> Stop(); //播放停止 VideoWindw的OnDblClick双击事件添加代码:
VideoWindow-> FullScreen =!VideoWindow->FullScreen;//全屏播放 MainForm的OnCloseQuery事件添加如下代码:
FiherGraph-> Active = FALsE;//释放各个Filter 本程序开发环境WindowsXP + DirectX9.O + DSPack2.34。本程序编译后成功运行。测试与维护
3.1 创建和测试应用程序
为了确保本系统能够正常运行,需要在开发完成之后做一次较全面的测试。现将具体操作及过程举例说明如下:
创建和测试应用程序应是交替进行的,既要注意开发的效率也要注意它的稳定性。每编写一个模块,就要对这个模块进行测试,看它能否根据特定的要求工作。及早发现问题,及早解决,否则到最后再来测试的话,难度会大大增加。3.2 程序改进
本软件没有考虑到删除播放列表中文件在ListBox中的索引号小于当前值的时候,删除之后不能把光标移动到当前播放文件。
本软件没有提供解码更新,这是本软件以后要着重改的地方。3.3测试方法
一般来说,对程序测试有两种测试方法:如果已经知道了软件系统应具有的功能,可通过测试来对每个功能是否都能正常使用;如果知道程序的内部工作过程,可以通过测试来检测程序内部是否按照规格说明书的规定正常进行。前一种方法称为黑盒测试,后一种方法称为白盒子测试。黑盒测试又称为功能测试,白盒子测试又称为结构测试。[4] 本系统采用黑盒测试,以下以播放WMV文件为例子。界面如下: 总结
基于两种不同方法实现媒体播放器程序时的代码比较,我们采用了C++ Bui-ldel2009 + Direct X SDK9.O + DSPack2.34编写该播放器。因为用c++ Buildel2009 + Directx SDK9.0编写时,代码行约为400行,并需要深入的DirectShow和COM组件知识;而采用C++ Buildel2009 + Direct X SDK9.O + DSPack2.34编写时,代码行约为20行,仅需要少量的DirectShow和COM知识。根据比较用第二种方法实现Dir-ectShow程序时,所需要知识少,开发程序快速高效。目前DirectShow广泛应用于开发多媒体程序。
在该软件的制作实现过程中,给人最大的启发的一点是系统架构和设计模式非常重要。代码的组织都是非常重要的,因为这关系到日后的维护以及扩展。编写代码更加有条理,更加符合软件工程的标准,这才是最重要的。
刚接触视频播放器编程的时候,我们认为其中最重要的是解码算法。但是头几天编写程序的时候却发现程序越写越不容易维护,可见是我们走错了方向。后来我们向老师讨教,他告诉我们:“我们的先人早已为我们准备好了各种精良可用的现成算法,我们所要做的就是直接“拿来主义”罢了;但是对于代码的组织(也就是软件的架构)才是真正软件工业的核心部分,因为软件事实上是直接和经济挂钩的,因此我们必须在编写代码之前选择一种最为合适的方法来组织这些代码,否则我们将会失去更多的时间和金钱。”。
经过并不长的时间里,去实现软件编程的这个过程使我们慢慢进入到软件编程的大堂,慢慢感受到实现一个软件是需要大量的资源。这个过程使我明白了许多,也收获了许多。首先,我们得去熟悉开发环境,只有熟悉开发环境才能更好地、更有效地实现软件开发;其次,我们还得去查找大量的资料,无论是图书馆里的关于该软件实现的书籍,或者是网上实现该软件的代码或者教程;最后,在面对编程时,我们最好先弄清楚程序的流程,弄好程序里每个小模块,然后把每个小模块组织成完整的程序。