多语种视频音频播放器的设计与实现(有源程序代码)(可编辑)

多语种视频音频播放器的设计与实现(有源程序代码)(可编辑)

2023年7月29日发(作者:)

多语种视频音频播放器的设计与实现(有源程序代码)

源程序代码等全套设计联系 174320523 各专业都有

分类号:TP37 U D C:D10621-408-20076221-0

密 级:公 开 编 号:2003031193

成都信息工程学院

学位论文

多语种视频音频播放器的设计与实现

论文作者姓名: 罗 云

申请学位专业: 计算机科学与技术

申请学位类别: 工 学 学 士

指导教师姓名(职称):陈运(教授)

论文提交日期: 2007年06月08日

多语种视频音频播放器的设计与实现

摘 要

随着计算机的广泛运用,Internet的迅速发展,各种音频视频资源也在网上广为流传,这些资源看似平常,但已经渐渐成为人们生活中必不可少的一部分了。于是各种播放器也紧跟着发展起来,但是很多播放器一味追求外观花哨,功能庞大,对用户的电脑造成了很多资源浪费,比如CPU,内存等的占用率过高,在用户需要多任务操作时,受到了不小的影响,带来了许多不便,而对于大多数普通用户,许多功能用不上,形同虚设。针对以上各种弊端,选择了开发多语种的音频视频播放器,将各种性能优化,继承播放器的常用功能,满足一般用户(如听歌,看电影)的需求,除了能播放常见格式的语音视频文件,还能播放RM,RMVB格式的视频文件。此外,还能支持中文、日文、英文等语言界面。

首先研究了各种市场上流行的播放器,如MEDIA PLAYER,REAL ONE等,了解它们各自的插件及编码方式,还有各种播放器播放的特别格式文件,分析各种编码的优缺点以及各种播放器本身存在的缺陷和特点。其次,选择了Windows自带的 Windows Media Player和PPstream的两种比较优秀的插件进行开发,编写出功能实用,使用方便快捷的播放器。目前已经实现的功能有能播放常见视频音频文件的功能,如MP3,AVI,WMV,RM,RMVB等,拥有播放菜单,能选择节目,具备一般播放器的功能,如快进,快退,音量调节等。播放模式也比较完善,有单曲,顺序,循环,随机播放等模式。此外,界面能支持中文,日文,英文三种语言。

关键词:计算机应用技术;音频视频;播放器;插件

Design and Implementation of Multilingual Multimedia Player

Abstract

Along with computer widespread application and Internet rapid

development, many kinds of audio and video resources also widely spread

on-line. These resources look very ordinary, but gradually became an essential part of people’s daily life. Thereafter,verious players were

developed. But many designers pursue only the fashionable appearance and

versatile functions on players’ design. Hence resources’ waste was

caused. For example, CPU and Memory are excessively taken. When users need

the multi-task operation, it will bring much more trouble. But regarding

the majority average users, many functions are not necessary. Against the

shortcomings, a multilingual audio and video player is developed which

remain the commonly used functions and optimize the performance. Common

users can be satisfied for listening music and watching film. Except for

the common form of vocal video files, the RM and RMVB form video files

can be played on the player. In addition, these documents can be played

in Chinese, Japanese and English.

This graduation project primary mission: Firstly, various popular

players are studied such as MEDIAPLAYER, REAL ONE and so on including their

embedded modules, encoding methods and data format. Advantages and

disadvantages among these players are analyzed. Then two kinds of

excellent active components are chosen to develop so that a practical

player, which is easy to operate, is implemented. At present, the expect

functions have realized such as MP3,WMV,AVI,RM and RMVB documents playing

and so on. One can choose the program to play according to the menu. The

player has the familiar functions such as fast forward, fast backward,

volume control and so on. It has various playing modes such as single, order, circulation, and random mode. In addition, it can be played in

Chinese, Japanese and English.

Key words: Computer Application Technology;Audio and

Video;Player;Plug-in

目 录

论文总页数:25页

1 引言 0

1.1 课题背景 0

1.2 国内外知名播放软件介绍1.3 课题的研究方法 0

2 调查分析 0

2.1 需求分析 0

2.1.1 功能需求 0

2.1.2 客户需求 0

2.2 可行性研究 0

2.3 各类音频视频文件的分析3 环境搭建 0

4 程序设计 0

4.1 基本设计 0

0

0

4.2

4.3

程序流程图 0

代码实现过程 0

0

0

4.3.1 播放控件的接口属性

4.3.2 播放器外观界面设计

4.3.3 添加曲目的实现

4.3.4 媒体文件的筛选

0

0

4.3.5 媒体文件类型的获取

4.3.6 实现多种播放模式 0

5 测试

5.1

5.2

5.3

5.4

5.5

5.6

0

0

测试前的分析 0

音频文件播放测试 0

视频文件测试 0

多语种界面测试

资源占用测试 0

测试结果的总结 0

0

结 论 0

参考文献 0

致 谢 0

声 明 0

引言

课题背景

随着计算机的广泛运用,Internet的迅速发展,各种音频视频资源也在网上广为流传,这些资源看似平常,但已经渐渐成为人们生活中必不可少的一部分了。

于是各种播放器也紧跟着发展起来,但是也因此产生了许多负面影响,对用户的电脑造成了很多资源浪费,比如CPU,内存等的占用率过高,在用户需要多任务操作时,受到了不小的影响,带来了许多不便。

国内外知名播放软件介绍

目前,国外比较著名的播放器有微软公司的Windows Media Player和RealNetworks公司的Real Player。Windows Media Player 是多功能媒体播放机,利用它,在 Windows XP PC 和多种便携设备上的任何地方都可以轻松愉悦地发现、播放和利用数字媒体。 这是微软公司基于 DirectShow 基础之上开发的媒体播放软件。它提供最广泛,最具可操作性,最方便的多媒体内容。可以播放更多的文件类型,包括:Windows Media 即以前称为NetShow的, ASF, MPEG-1,

MPEG-2, WAV, AVI, MIDI, VOD, AU, MP3, 和 QuickTime 文件。所有这些都用一个操作简单的应用程序来完成。Windows Media Player 能播放从低带宽的声音文件到全屏的图像文件,还可重设图像窗口,甚至设成全屏,以便更好地播放。而RealPlayer也是由RealNetworks公司推出一种新型音-视频综合播放系统,它的一大特点就是多层画面功能,即当一个屏幕播放影碟或歌曲的时候,旁边将有一个侧屏幕提供有关影碟或歌曲的信息或广告。RealPlayer 支持所有最新的格式,除了能播放QuickTime、Windows Media 或 MPEG 音频和视频文件外,还可以播放 DVD、VCD等文件。此外,RealPlayer独立地支持RM,RMVB格式的视频文件。音频播放软件中比较知名的要属于Winamp,它是一个非常著名的高保真的音乐播放软件,支持MP3, MP2, MOD, S3M, MTM, ULT,XM, IT, 669, CD-Audio, Line-In, WAV, VOC 等多种音频格式。 可以定制界面skins, 支持增强音频视觉和音频效果的Plug-ins。捆绑了DFX、Dee2等世界一流的音效处理软件,还可以支持目前比较流行的LRC歌词同步显示。国内的视频音频播放软件与国外相比,就比较逊色了。比较有影响力的是豪杰公司推出的《超级解霸》,《豪杰超级解霸》是以著名的国际软件专家梁肇新先生为首的豪杰精英研发团队,经过5年精心锤炼打造而成。该新品独创多项领先国际的多媒体软解压技术,实现了影音文件的高清晰多声道环绕播放,这较以前版本而言取得了巨大的创新和突破。其中尤为值得一提的是豪杰公司独创“HDFT增益滤波技术”,鼠标轻点瞬间将给用户带来“化腐朽为神奇,使模糊变清晰”的奇妙体验,这项技术将改变平日我们观看RM等高压缩格式影片模糊不清的局面。此外,《超级解霸》还支持声道的转换,在播放多语种视频文件是就可以轻松切换语言了。它还拥有图像抓取功能,可以随时获取视频文件播放中的每个画面。国内比较优秀的音频播放软件有千千静听,它拥有自主研发的全新音频引擎,支持DirectSound、Kernel Streaming和ASIO音频流输出、32比特合成、AddIn插件扩展技术,具有资源占用低、运行效率高、扩展能力强等优点。 支持MP3/mp3PRO、AAC/AAC+、M4A/MP4、WMA、APE、MPC、OGG、CD、WAVE、FLAC、RM、TTA、AIFF、AU等音频格式和多种MOD音乐格式,支持CUE音轨索引文件,支持所有格式到WAVE、MP3、APE、WMA等格式的转换,通过基于COM接口的AddIn插件可以支持更多格式的播放和转换。 支持采样频率转换SSRC和8/16/24/32比特输出,支持回放增益,支持10波段均衡器、多级杜比环绕、淡入淡出音效,兼容并可同时激活多个Winamp2的音效插件。 支持ID3v1/v2、APE、WM和批量标签 编辑、繁简体转换、以标签格式重命名文件,支持Unicode。支持同步歌词滚动显示和拖动定位播放,并且支持歌词下载和歌词编辑功能。 支持多播放列表和音频文件搜索,支持多种视觉效果,采用XML格式的ZIP压缩的皮肤,同时具有磁性窗口、半透明/淡入淡出窗口、任务栏图标、自定义快捷键、信息滚动、菜单功能提示等功能。

课题的研究方法

通过研究播放插件的内部接口属性,了解其支持的各种文件格式,然后选择两种播放控件,再通过C#.net进行播放器的开发,使其各种接口的功能得到充分发挥。使其拥有一般播放器的功能,如播放,暂停,快进,快退,有播放菜单,可以选择节目,并且支持多种播放模式,如单曲播放,循环播放,顺序播放,随机播放等。另外还加入多语言操作界面,完善播放器的一些高级功能。

调查分析

需求分析

功能需求

本毕业设计的题目是多语种音频视频播放器,所以播放器的功能需求主要有以下内容:

(1)拥有一般播放器的基本功能,即能够正常播放各种音频视频节目,音量调节,和正常打开关闭程序。

(2)拥有一般播放器的高级功能,如拥有播放菜单,可以随时添加删除播放节目,并可以控制播放曲目,如快进,快退,可以选择上一曲,下一曲,在播放视频节目时可以全屏播放等。

(3)拥有多种播放模式,如能够单曲播放,单曲循环播放,顺序播放,循环播放,随机播放等功能。

客户需求 客户除了要求拥有功能需求中的功能以外,还有以下几点需求:

(1)可以支持多语言界面,包括中文,日文,英文三种语言,可以随时方便地切换语种。

(2)软件能在低配置的硬件环境下正常运行,即对资源占用少,方便快捷。

可行性研究

根据本播放软件的开发要求,选用所熟悉的开发工具 Visual Studio

2005,选择C#.NET进行开发。并且选用了两种播放控件,一个是Windows自带的

Windows Media Player和PPstream的插件。所以在技术上是完全可行的。

本系播放软件的开发,对硬件要求一般,只要能正常运行ASP 2.0即可,所以只要CPU在奔腾III以上级别,内存大于256M都可以进行开发,因此在经济上也是完全可行的。

各类音频视频文件的分析

为了开发能播放各种常见格式的音频视频文件的多功能播放器,因此首先分析各种音频视频文件的分类及各自的特点。

AVI格式:它的英文全称为Audio?Video?Interleaved,即音频视频交错格式。它于1992年被Microsoft公司推出,随Windows3.1一起被人们所认识和熟知。所谓“音频视频交错”,就是可以将视频和音频交织在一起进行同步播放。这种视频格式的优点是图像质量好,可以跨多个平台使用,其缺点是体积过于庞大,而且更加糟糕的是压缩标准不统一,最普遍的现象就是高版本Windows媒体播放器播放不了采用早期编码编辑的AVI格式视频,而低版本Windows媒体播放器又播放不了采用最新编码编辑的AVI格式视频,所以我们在进行一些AVI格式的视频播放时常会出现由于视频编码问题而造成的视频不能播放或即使能够播放,但存在不能调节播放进度和播放时只有声音没有图像等一些莫名其妙的问题,如果用户在进行AVI格式的视频播放时遇到了这些问题,可以通过下载相应的解码器来解决。

MPEG格式:它的英文全称为Moving?Picture?Expert?Group,即运动图像专家组格式,家里常看的VCD、SVCD、DVD就是这种格式。MPEG文件格式是运动图像压缩算法的国际标准,它采用了有损压缩方法减少运动图像中的冗余信息,说的更加明白一点就是MPEG的压缩方法依据是相邻两幅画面绝大多数是相同的,把后续图像中和前面图像有冗余的部分去除,从而达到压缩的目的其最大压缩比可达到200:1。目前MPEG格式有三个压缩标准,分别是MPEG-1、MPEG-2、和MPEG-4,另外,MPEG-7与MPEG-21仍处在研发阶段。MPEG-1:制定于1992年,它是针对1.5Mbps以下数据传输率的数字存储媒体运动图像及其伴音编码而设计的国际标准。也就是我们通常所见到的VCD制作格式。使用MPEG-1的压缩算法,可以把一部120分钟长的电影压缩到1.2GB左右大小。这种视频格式的文件扩展名包括.mpg、.mlv、.mpe、.mpeg及VCD光盘中的 .dat文件等。

MPEG-2:制定于1994年,设计目标为高级工业标准的图像质量以及更高的传输率。这种格式主要应用在DVD/SVCD的制作压缩方面,同时在一些HDTV高清晰电视广播和一些高要求视频编辑、处理上面也有相当的应用。使用MPEG-2的压缩算法,可以把一部120分钟长的电影压缩到4到8GB的大小。这种视频格式的文件扩展名包括.mpg、.mpe、.mpeg、.m2v及DVD光盘上的.vob文件等。

MPEG-4:制定于1998年,MPEG-4是为了播放流式媒体的高质量视频而专门设计的,它可利用很窄的带宽,通过帧重建技术,压缩和传输数据,以求使用最少的数据获得最佳的图像质量。目前MPEG-4最有吸引力的地方在于它能够保存接近于DVD画质的小体积视频文件。另外,这种文件格式还包含了以前MPEG压缩标准所不具备的比特率的可伸缩性、动画精灵、交互性甚至版权保护等一些特殊功能。这种视频格式的文件扩展名包括.asf、.mov和DivX?AVI等。

DivX格式:这是由MPEG-4衍生出的另一种视频编码压缩标准,也即我们通常所说的DVDrip格式,它采用了MPEG4的压缩算法同时又综合了MPEG-4与MP3各方面的技术,说白了就是使用DivX压缩技术对DVD盘片的视频图像进行高质量压缩,同时用MP3或AC3对音频进行压缩,然后再将视频与音频合成并加上相应的外挂字幕文件而形成的视频格式。其画质直逼DVD并且体积只有DVD的数分之一。这种编码对机器的要求也不高,所以DivX视频编码技术可以说是一种对DVD造成威胁最大的新生视频压缩格式,号称DVD杀手或DVD终结者。

MOV格式:QuickTime(MOV)是Apple计算机公司开发的一种音频、视频文件格式,用于保存音频和视频信息,具有先进的视频和音频功能,被包括Apple?Mac?OS、Microsoft?Windows?95/98/NT在内的所有主流电脑平台支持。QuickTime文件格式支持25位彩色,支持RLE、JPEG等领先的集成压缩技术,提供150多种视频效果,并配有提供了200多种MIDI兼容音响和设备的声音装置。新版的QuickTime进一步扩展了原有功能,包含了基于Internet应用的关键特性,能够通过Internet提供实时的数字化信息流、工作流与文件回放功能,此外,QuickTime还采用了一种称为QuickTime?VR?简称QTVR技术的虚拟现实Virtual?Reality,?VR技术,用户通过鼠标或键盘的交互式控制,可以观察某一地点周围360度的景象,或者从空间任何角度观察某一物体。QuickTime以其领先的多媒体技术和跨平台特性、较小的存储空间要求、技术细节的独立性以及系统的高度开放性,得到业界的广泛认可,目前已成为数字媒体软件技术领域的事实上的工业标准。国际标准化组织ISO最近选择QuickTime文件格式作为开发MPEG 4规范的统一数字媒体存储格式。

RM格式:Networks公司所制定的音频视频压缩规范称之为Real Media,用户可以使用RealPlayer或RealOne Player对符合RealMedia技术规范的网络音频/视频资源进行实况转播,并且RealMedia还可以根据不同的网络传输速率制定出不同的压缩比率,从而实现在低速率的网络上进行影像数据实时传送和播放。这种格式的另一个特点是用户使用RealPlayer或RealOne Player播放器可以在不下载音频/视频内容的条件下实现在线播放。RMVB格式:这是一种由RM视频格式升级延伸出的新视频格式,它的先进之处在于RMVB视频格式打破了原先RM格式那种平均压缩采样的方式,在保证平均压缩比的基础上合理利用比特率资源,就是说静止和动作场面少的画面场景采用较低的编码速率,这样可以留出更多的带宽空间,而这些带宽会在出现快速运动的画面场景时被利用。这样在保证了静止画面质量的前提下,大幅地提高了运动图像的画面质量,从而图像质量和文件大小之间就达到了微妙的平衡。

PCM编码的WAV :PCM编码的WAV文件是音质最好的格式,Windows平台下,所有音频软件都能够提供对她的支持。Windows提供的WinAPI中有不少函数可以直接播放wav,因此,在开发多媒体软件时,往往大量采用wav,用作事件声效和背景音乐。PCM编码的wav可以达到相同采样率和采样大小条件下的最好音质,因此,也被大量用于音频编辑、非线性编辑等领域。 其音质非常好,被大量软件所支持,适用于多媒体开发、保存音乐和音效素材。MP3: MP3具有不错的压缩比,使用LAME编码的中高码率的mp3,听感上已经非常接近源WAV文件。使用合适的参数,LAME编码的MP3很适合于音乐欣赏。由于MP3推出年代已久,加之不错的音质及压缩比,不少游戏也使用mp3作事件音效和背景音乐。几乎所有著名的音频编辑软件也提供了对MP3的支持,可以将mp3像wav一样使用,但由于mp3编码是有损的,因此多次编辑后,音质会急剧下降,mp3并不适合保存素材,但作为作品的demo确实相当优秀的。mp3长远的历史和不错的音质,使之成为应用最广的有损编码之一,网络上可以找到大量的mp3资源,mp3player日渐成为一种时尚。不少VCD Player、DVD Player甚至手机都可以播放mp3,mp3是被支持的最好的编码之一。MP3也并非完美,在较低码率下表现不好。MP3也具有流媒体的基本特征,可以做到在线播放。 其音质好,压缩比比较高,被大量软件和硬件支持,应用广泛。适用于比较高要求的音乐欣赏。OGG:Ogg是一种非常有潜力的编码,在各种码率下都有比较惊人的表现,尤其中低码率下。Ogg除了音质好之外,她还是一个完全免费的编码,这对ogg被更多支持打好了基础。Ogg有着非常出色的算法,可以用更小的码率达到更好的音质,128kbps的Ogg比192kbps甚至更高码率的mp3还要出色。Ogg的高音具有一定的金属味道,因此在编码一些高频要求很高的乐器独奏时,Ogg的这个缺陷会暴露出来。OGG具有流媒体的基本特征,但现在还没有媒体服务软件支持,因此基于ogg的数字广播还无法实现。Ogg目前的被支持的情况还不够好,无论是软件的还是硬件的,都无法和mp3相提并论。 但它可以用比mp3更小的码率实现比mp3更好的音质,高中低码率下均具有良好的表现。

适用于用更小的存储空间获得更好的音质(相对MP3)。MPC:和OGG一样,MPC的竞争对手也是mp3,在中高码率下,MPC可以做到比竞争对手更好音质,在中等码率下,MPC的表现不逊色于Ogg,在高码率下,MPC的表现更是独孤求败,MPC的音质优势主要表现在高频部分,MPC的高频要比MP3细腻不少,也没有Ogg那种金属味道,是目前最适合用于音乐欣赏的有损编码。由于都是新生的编码,和Ogg际遇相似,也缺乏广泛的软件和硬件支持。MPC有不错的编码效率,编码时间要比OGG和LAME短不少。 特点是中高码率下,具有有损编码中最佳的音质表现,高码率下,高频表现极佳 。适用于在节省大量空间的前提下获得最佳音质的音乐欣赏。

WMA:微软开发的WMA同样也是不少朋友所喜爱的,在低码率下,有着好过mp3很多的音质表现,WMA的出现,立刻淘汰了曾经风靡一时的VQF编码。有微软背景的WMA获得了很好的软件及硬件支持,Windows Media Player就能够播放WMA,也能够收听基于WMA编码技术的数字电台。因为播放器几乎存在于每一台PC上,越来越多的音乐网站都乐意使用WMA作为在线试听的首选了。除了支持环境好之外,WMA在64-128kbps码率下也具有相当出色的表现,虽然不少要求较高的朋友并不够满意,但更多要求不高的朋友接受了这种编码,WMA很快的普及开了。 低码率下的音质表现难有对手,适用于数字电台架设、在线试听、低要求下的音乐欣赏 。

mp3PRO:作为mp3的改良版本的mp3PRO表现出了相当不错的素质,高音丰满,虽然mp3PRO是通过SBR技术在播放过程中插入的,但实际听感相当不错,虽然显得有点单薄,但在64kbps的世界里已经没有对手了,甚至超过了128kbps的mp3,但很遗憾的是,mp3PRO的低频表现也像mp3一样的破,所幸的是,SBR的高频插值可以或多或少的掩盖这个缺陷,因此mp3PRO的低频弱势反而不如WMA那么明显。大家可以在使用RCA mp3PRO Audio Player的PRO开关来切换PRO模式和普通模式时深深的感觉到。整体而言,64kbps的mp3PRO达到了128kbps的mp3的音质水平,在高频部分还略有胜出。 它是低码率下的音质之王,适用于低要求下的音乐欣赏 。 环境搭建

为了开发本播放软件,选用了C#.NET进行开发,因此,我安装了Visual

Studio 2005。Visual Studio 2005 和 .NET Framework 2.0 将在应用程序开发的所有方面取得大幅进展。首先,Visual Studio 2005 根据开发人员个人的需要调整软件开发体验,设置新的开发人员工作效率标准。这一“个性化工作效率”将在开发环境和 .NET Framework 类库中提供相应的功能,以帮助开发人员在最少的时间内克服其最为紧迫的困难。其次,Visual Studio 2005 使开发人员能够通过与 Microsoft Office System 和 SQL Server 2005 的更好集成,在更广泛的应用程序开发方案中应用现有的技能。最后,Visual Studio 2005 将提供一组新的工具和功能,以满足目前大规模企业的应用程序开发需要。Visual Studio

2005 的中心内容主要包括以下几个方面:

(1)HYPERLINK l "language" 语言和 IDE 工作效率。作为 Visual

Studio 一部分的四种语言(Visual Basic、Visual C++、Visual C# 和 Visual

J#),Microsoft 为其每一种语音都构建了独特的特征。这一语言上的革新将丰富每个开发人员群体的编程体验,而不会牺牲现有的语言功能和互操作性。通过语言革新展现的功能将由 IDE 体现,并且为所有的开发人员团体提供个性化的工作效率。

(2)Microsoft .NET 与: Framework 2.0 将在 .NET

Framework 类库中引入增强功能。通过新的控件和设计器功能,将简化 Windows

客户端应用程序开发,而“ClickOnce”技术的引入将显著简化 Windows 客户端应用程序部署。 2.0 引入一组新的功能,以改善 Web 应用程序开发并在根本上减轻编码工作。其他增强功能包括,更有效的 数据访问、对最新 Web 服务标准的支持以及基于设备的开发的扩展功能。

(3)SQL Server 2005 解决方案开发。SQL Server 2005 将数据库对象的开发与调试集成到 Visual Studio 2005 开发环境中,从而使开发人员能够使用与其目前用于编写托管组件和应用程序相同的工具来生成和部署数据库对象。

程序设计

基本设计

设计思路:为了播放多种格式的语音视频播放器,选择了两种播放插件,一个是Windows自带的 Windows Media Player播放控件,另一个是PPstream的播放控件。Windows Media Player播放控件主要用于播放常见格式的视频音频文件,如AVI,MPEG,WMV等,而后者则播放RM,RMVB格式的视频文件。因为Windows Media Player不支持RM,RMVB格式的视频文件播放,想要播放RM,RMVB格式文件,必须有能支持RM,RMVB解码的播放控件。PPstream的播放控件封装了RM,RMVB编码的插件,因此可以满足要求。

而在程序设计时,应该将各种音频视频文件进行分类,普通音频视频格式文件用Windows Media Player控件播放,其他特殊的格式,如RM,RMVB用PPstream控件播放。而区分这些文件格式的方法也很简单,只需要在打开文件时获取文件的扩展名,如MP3,WMA,AVI等。再在程序中对扩展名进行逻辑判断,如果是常见格式的扩展名,则将多媒体文件用Windows Media Player控件播放,其他情况就用PPstream控件播放。此外,播放器在播放完一个文件时,应判断是该停止,还是继续播放,因此又形成了一个循环的关系。而这个循环关系也不是一个简单的循环,并不是单纯的播放下一个多媒体文件。还应根据当前的播放模式有所不同。如单曲循环播放模式的下一个播放文件还是当前文件,普通模式则是播放下一个文件,但是当文件指针指到了最后一个文件时,就应该停止播放,而全部循环模式则应播放列表中的第一个文件。最后是随机模式,它播放的下一个文件是随机的,也就是不可推测的。如果满足停止条件,则程序正常终止。

程序流程图

图一 程序流程图

代码实现过程

播放控件的接口属性

为了能够播放各种音频视频格式的文件,选用了两种播放控件,一个是Windows自带的 Windows Media Player播放控件,另一个是PPstream的播放控件。(2.4.2的设计思路中已经解释了原因)。Windows

Media Player播放控件主要用于播放常见格式的视频音频文件,如AVI,MPEG,WMV等,而后者则播放RM,RMVB格式的视频文件。

Windows Media Player控件接口属性:

URL:String; 指定媒体位置,本机或网络地址

uiMode:String; 播放器界面模式,可为Full,?Mini,?None,?Invisible

playState:integer; 播放状态,1停止,2暂停,3播放,6正在缓冲,9正在连接,10准备就绪

enableContextMenu:Boolean; 启用/禁用右键菜单

fullScreen:boolean; 是否全屏显示

[controls] ls?//播放器基本控制 ; 播放

; 暂停

; 停止

tPosition:double; 当前进度

tPositionString:string; 当前进度,字符串格式。如“00:23”

rward; 快进

verse; 快退

; 下一曲

us; 上一曲

[settings] gs?//播放器基本设置

:integer; 音量,0-100

art:Boolean; 是否自动播放

:Boolean; 是否静音

unt:integer; 播放次数

[currentMedia] tMedia?//当前媒体属性

on:double; 媒体总长度

onString:string; 媒体总长度,字符串格式。如“03:24”

mInfoconst?string; 获取当前媒体信息"Title"媒体标题,"Author"艺术家,"Copyright"版权信息,"Description"媒体内容描述,"Duration"持续时间(秒),"FileSize"文件大小,"FileType"文件类型,"sourceURL"原始地址

mInfoconst?string; 通过属性名设置媒体信息

:string; 同?mInfo"Title"

[currentPlaylist] tPlaylist?//当前播放列表属性

:integer; 当前播放列表所包含媒体数

[integer]; 获取或设置指定项目媒体信息,其子属性同tMedia

PPstream的控件接口属性:

void AboutBox:显示关于PPStream对话框.

void GetAuthorStringBSTR* pbstr:获取当前播放的视频或音频的作者名。

void GetTitleStringBSTR* pbstr:获得当前播放的视频或者音频的名称。

long GetControlPanelHeight:获得播放器控制面板的高度。

boolean GetFullScreen:获知当前是否正在全屏幕播放.

void SetFullScreenBOOL bFullScreen:设置是否全屏幕播放。

long GetHWND:获得播放控件的窗口句柄。

long GetPlayDuration:获得播放时长。

long GetPlayPosition:获得播放进度. 在直播中, 无法获得播放进度。

boolean IsPsConnected:获知播放器时候已经连入了PPStream网络。

long Pause:暂停. 切记: 恢复播放依然调用Pause;函数。

返回值: 1 暂停成功;2 恢复播放成功;-1 无效

boolean Play:播放。

返回值: 1 播放成功; 0 播放失败. boolean Stop:停止播放。

返回值: 1, 停止成功; 0 停止失败

void ShowPropertyDialog:显示网络属性对话框属性。

BSTR src:PStream地址或者传统流媒体地址mms, rtsp, http等, 本地文件地址等. 支持Real和Windows Media所有格式。

boolean ShowControl:是否显示播放控制区。

boolean autostart:是否创建播放器后自动播放src所指定的地址。

boolean topmost:是否把窗口置于顶端。

boolean autosize:视频区域是否随着播放窗口变化而改变尺寸。

BSTR ScrollTextURL:下方滚动文字资讯的网址, PowerPlayer会自动解析网址中的超链接和文字作为资讯链接滚动显示.

BSTR SkinPath:界面Skin的本地路径. Application DatappStream目录下的相对路径或本机绝对路径.

BSTR Logo:Logo图片的本地路径.Gif, Jpg等windows默认支持的所有图片格式. Application DatappStream目录下的相对路径或本机绝对路径. 建议多帧GIF, 动画会在缓冲期间播放.

BSTR Client:客户端代码, OEM客户有效。

boolean ShowPosition:是否显示播放进度条。

boolean ShowAbout:右键菜单中是否显示关于对话框。

short Volume:音量, 0-100。

long ShowProperty:右键菜单中是否显示”属性”。

boolean ShowLogo:是否显示LOGO。 boolean Mute:是否静音。

Boolean EnableContextMenu:是否显示右键菜单。

播放器外观界面设计

设计如图所示:

图二 界面设计图

添加曲目的实现

调用了OpenFileDialog方法,并对初始文件夹进行了设置。接着先取得文件名,再用Substring取得文件扩展名,最后将文件名全部放入菜单控件。

OpenFileDialog opFile new OpenFileDialog;

elect true;

lDirectory "D:My Doncument";

eDirectory true;

alog;

string[] Fname;

string Ename;

Fname mes;

Ename //.//.tIndexOf"." + 1;

//.t Ename;

if 0

for int i 0; i ; i++

//.me[i];

//.ectedIndex 0;

媒体文件的筛选

调用了Filter方法,对打开的文件进行了筛选分类,并对FilterIndex(索引)进行了设置。

"音频文件*.mp3;*.wma|*.mp3;*.wma视频文件

视频文件*.avi;*.wmv;*.rmvb;*.rm|*.avi;*.wmv;*.rmvb;*.rm|

Allfiles*.*|*.*";

Index 3; 媒体文件类型的获取

文件类型的获取主要是指文件扩展名的获取,因此采用了Substring方法。

///

///文件名

///

string Fname;

///

///扩展名

///

string Ename;

Fname //.ng;

Ename //.tIndexOf"." + 1;

//.t Ename;

实现多种播放模式

自定义了一个枚举类,里面有五种情况,单曲播放,单曲循环播放,顺序播放,全部循环播放,随机播放。然后用了switch方法对各种情况进行判断,并发生不同的事件。

public enum PlayMode

///

/// 单曲播放

/// Single 0,

///

/// 单曲循环播放

///

SingleLoop,

///

/// 顺序播放

///

shunxu,

///

/// 全部循环播放

///

AllLoop,

///

/// 随机播放

///

Radom

Random rand new Random

int index;

switch mode

case :

return; case Loop:

edIndex edIndex;

break;

case :

if edIndex //.nt - 1

return;

else

//.ectedIndex++;

break;

case p:

if //.ectedIndex //.nt - 1

//.ectedIndex 0;

else

//.ectedIndex + 1;

break;

case :

index edIndex + //. % //.nt;

edIndex index;

break;

default:

break;

测试 测试前的分析

要测试本播放软件,需要从功能入手。因为此播放软件是多语种多功能播放软件,因此需要检验本播放软件是否支持各种音频视频文件的正常播放,也就需要搜集各种格式的音频视频文件作为测试的依据。

音频文件播放测试

图三 MP3播放测试

图四 WMA播放测试

目前流行的音频格式文件为MP3、WMA等,因此选择了这两种格式的音频文件进行测试。通过以上对音频文件的播放测试,证明播放器软件不仅能正确识别音频格式的文件,而且还能够正常播放音频格式文件,说明了测试结果和预想的一致。

视频文件测试

图五 WMV播放测试

图六 RM播放测试

图七 AVI播放测试

图八 RMVB播放测试

目前常见的视频文件格式有AVI,WMV,RMVB,RM,MPEG等,而且RM,RMVB和其他几种格式的视频文件编码方式不同。根据程序设计逻辑,在播放RM,RMVB时,调用的是PPSTREAM的播放控件,因此是测试的重点。通过以上测试可以看出,播放器软件可以识别RM,RMVB,AVI,WMV,RMVB,RM等格式的视频格式文件,并且可以正常播放,证明了测试的结果是成功的。

多语种界面测试

多语种界面的测试主要是对日文界面,英文界面的测试,因为初始化时的界面是默认的中文界面。通过以上的测试,可以看出播放

发布者:admin,转转请注明出处:http://www.yc00.com/web/1690642375a384106.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信