一个简单的媒体播放器的设计与实现

一个简单的媒体播放器的设计与实现[java毕业论文下载]

一个简单的媒体播放器的设计与实现

摘  要

如今流行的媒体播放器虽然很多,但都或多或少存在一些缺陷,比如:没有记忆的功能;下次播放的时候不能从上次离开的曲目开始;没有身份认证功能;不能有效的保护媒体播放器里面的歌曲专有性;功能组合与用户的习惯相违背;界面太复杂以及操作太难等。随着人们对娱乐要求的提高,一款别致的、贴近用户操作习惯的播放器非常值得去研究和开发。

本论文所描述的播放器是在Microsoft Visual Studio .NET 2003平台下利用Visual Basic.NET语言完成的。使用Visual Basic.NET提供的Windows Media Player控件以及文件处理,最终实现一款别致的,贴近用户操作习惯的媒体播放器。

该播放器实现了对WAV、MID、MP3、MOV等格式的多媒体文件的播放功能;实现了播放列表加载多个多媒体文件并可以自定义播放顺序;实现了用户的身份认证、连续播放、记忆播放以及自动关闭播放器等功能。

 

关键词媒体播放器;Visual Basic.NET;Microsoft Visual Studio .NET 2003;Windows Media Player控件;记忆功能

 

The Design and Implement of a Simple Media Player

Abstract

Nowadays, there are many popular media players. They have more or less certain shortcomings. For example, the media player is no memory function, the next player didn't start from the program the last time leaved; no identity authentication, no effective protection for the proprietary of songs in the media player; function combination is against the users' habit, or complex interface, too difficult to operate and so on. With the improvement of requirements for the entertainment, a chic player which closed to the people's operation habit is very worth researching and designing.

The thesis described the player which was developed by Visual Basic.NET based on Microsoft Visual Studio .NET 2003. Implement using file manipulation and windows media player controls, ultimately implement a media player which is unique and press close to user habit.

The player realized play function for the multimedia documents of WAV, MID, MP3, MOV formats and so on; realized to load several multimedia files by playlists and customize the play order; realized the function of identity authentication, continuous play, memory function and  realized to be automatically shutted down.

 

Key words: Media player; Visual Basic.NET; Microsoft Visual Studio .NET 2003; Windows media Player Controls; Memory function

 

  

论文总页数:26页

 

1 引言 1

1.1 项目背景 1

1.2 国内外现状 1

1.3 项目意义 2

1.4 项目实现方法 2

2 开发运行平台分析 2

2.1 Microsoft Visual Studio .NET 2003 2

2.2 Visual Basic.NET技术 3

2.3 Windows Media Player控件 3

3 系统总体分析 4

3.1 系统总体结构设计及分析 4

3.2 系统功能设计 4

3.2.1 认证 5

3.2.2 文件加载 5

3.2.3 播放 5

3.2.4 关闭 6

4 系统实施方案 6

4.1 媒体播放器界面设计 6

4.2 身份认证 7

4.2.1 登录 7

4.2.2 认证修改 8

4.3 文件加载系统 10

4.3.1 打开 10

4.3.2 添加 12

4.3.3 清空 13

4.4 文件播放系统 14

4.4.1 暂停/播放 14

4.4.2 停止 15

4.4.3 自定义播放顺序 15

4.4.4 连续播放多个文件的实现 16

4.4.5 记忆播放 17

4.5 关闭 18

4.6 全屏 20

5 系统运行及测试结果 21

5.1 测试方案 21

5.1.1 测试方法 21

5.1.2 测试方案选择 21

5.2 测试结果 21

     23

参考文献 24

     25

     26

 

 

引言

1.1 项目背景

多媒体播放器的设计是一门集计算机技术和数字多媒体技术于一体的综合设计。随着中国计算机技术、宽带网络技术的发展,越来越多的人开始重视多媒体播放器的发展与应用。再加上如今的播放器虽然种类多样化,但无论是Windows系统自带的Windows Media Player播放器,还是现在网上流行的千千静听,或者是Kugoo播放器都或多或少都存在着一些缺点,而这些缺点要么是界面与人们平时的生活习惯不相符,或者是复杂难懂;要么就是功能不全不能满足人们对网络娱乐的追求。

随着多媒体的发展,市场潜力的开发,多媒体硬件环境和软件环境的不断完善,以及多媒体播放器开发环境的成熟,尤其是Microsoft公司开发的Windows编程工具Visual Basic.NET语言的成熟和完善。为多媒体播放器的研究和开发提供了先进的思想和多样的媒体控制手段,成为多媒体应用程序开发的理想工具。

而此次设计不仅具有操作简便、界面友好等特性;而且在功能方面更贴近人们的生活习惯和操作习惯。此多媒体设计能识别多中格式的多媒体文件,其中包括WAV,MP3,MID,MOV,等多媒体文件;在播放列表中可以加载一个或者多个多媒体文件;自动连续播放多个多媒体文件;用户能随意改变播放顺序;在下次打开播放器时,从上次关闭处继续播放文件;在使用播放器前将进行身份认证;在播放列表的多媒体文件播放完后可以选择自动关闭播放器或者循环播放。

1.2 国内外现状

在当今信息社会,以多媒体为特征的信息技术和信息产业的发展及应用对人类社会产生的影响和作用愈来愈明显,愈来愈重要。多媒体能改变信息的包装,实现知识信息数字化,为人们获得知识信息提供极大的方便和无穷的乐趣。友善的人机界面、多种多样的多媒体教学软件、诱人的电子游艺节目、身临其境的多媒体导购系统、五花八门的信息家电和高效方便的网上查询等等,无不渗透着多媒体的作用,它引导人们进入了一个有声有色的世界。同时,多媒体的发展和应用,极大地推动了各行各业的相互渗透和飞速发展,大大改变了人类社会的工作环境和生活方式。可毫不夸张地说,多媒体产业的形成和发展,不仅引起了计算机工业的一次革命,也正在深刻地影响人类社会发生巨大的变革。多媒体技术的发展在很大程度上依靠于多媒体软件开发的水平。目前,不管是支撑多媒体系统的系统软件,还是管理和开发软件,以及多媒体的应用软件都在能力和数量上还难以满足多媒体飞速发展的需要。特别是多媒体应用软件的缺乏,一直是制约多媒体产业发展的瓶颈问题,因此己成为多媒体研究和开发的关键问题。如何制作和设计出大量高质量的多媒体应用软件是计算机从业人员所面临的迫切课题,也是广大人民群众所关心的事情。

1.3 项目意义

结合Visual Basic.NET语言提供的先进的思想和多样的媒体控制手段,结合用户使用媒体播放器的习惯和对媒体播放器的要求,设计了一款界面清楚明了,操作简单实效,可以实现在播放列表中可以加载一个或者多个多媒体文件;自动连续播放多个多媒体文件;用户能随意改变播放顺序;在下次打开播放器时,从上次关闭处继续播放文件;在使用播放器前将身份认证;在播放列表的多媒体文件播放完后可以选择自动关闭播放器或者循环播放等功能的媒体播放器。

1.4 项目实现方法

1)设计的编程语言是Visual Basic.NET,利用Visual Basic.NET多媒体控件中的Windows Media Player 控件来实现多媒体相应功能。

2)利用Visual Basic.NET强大的文件处理能力,实现身份认证功能和记忆功能。

开发运行平台分析

2.1 Microsoft Visual Studio .NET 2003

Visual Studio .NET 2003 是一个全面的开发工具,用于快速构建面向 Microsoft Windows 和 Web 并连接 Microsoft .NET 的应用程序,极大地提高了开发人员的效率。

为解决今天最具挑战性的软件开发需要而构建的 Visual Studio .NET 2003 增强并进一步完善了其前代产品的功能,并与前代产品高度兼容。Visual Studio .NET 2003 包括来自 Modeler 的全套功能,可帮助构建最复杂的企业级应用程序和在最小的设备上部署应用程序。

Visual Studio .NET 2003 将移动和嵌入式设备,如 Pocket PC 和其他采用 Microsoft Windows CE .NET 操作系统的设备,带入 .NET。如今,开发人员能够使用同样的编程模型、开发工具及编程技能,来构建应用范围广泛——从小设备到最大的数据中心——的应用程序。

开发人员可以使用 Visual Studio .NET 来:

1)构建功能强大而且响应能力极好的基于 Windows 的应用程序。

2)构建功能强大而且响应能力极好的 Pocket PC 应用程序。

3)构建完善而安全的 Web 应用程序。

4)构建对设备有智能感知能力的完善而安全的移动 Web 应用程序。

5)在以上任何一种应用程序中使用 XML Web services。

6)避免“DLL 灾难”。

7)消除代价高昂的应用程序部署和维护问题。

Visual Studio .NET 是唯一的从头至尾都是基于通过 XML Web service 进行集成这一思想而构建的环境。通过允许应用程序通过 Internet 共享数据,XML Web services 使开发人员能够利用新的和现有的代码构建应用程序,而不用考虑平台、编程语言或对象模型。

2.2 Visual Basic.NET技术

Visual Basic.NET是运行于Windows平台上的交互式的可视化集成开发环境,是美国Microsoft公司开发的Microsoft Visual Studio.NET套件的一部分。Visual Basic.NET集程序的代码编辑、编译、连接和调试等功能于一体,提供了一个完整方便的开发界面和许多有效的辅助开发工具。

Visual Basic.NET中带有的Windows Media Player控件为开发媒体播放器提供了很好的技术支持和实现的可能。而Windows Media Player ActiveX控件提供了一套功能强大的COM对象模型。控件所支持的媒体文件格式多样,基本包括所有常用的媒体格式。

Visual Basic.NET的文件处理功能强大,通过对文件的读写以及其他操作,可以方便快捷的实现媒体播放器记忆播放功能和身份认证功能。

2.3 Windows Media Player控件

Windows Media Player控件的功能相当完善,而且有漂亮的视频插件,在播放音频文件时,可以享受漂亮的视觉效果。

1)控件的添加:打开工具箱,在空白处点击鼠标右键,选择右键菜单中的"新建项...",将弹出"选择工具箱项"对话框,在此对话框中,从"COM 组件"选项卡中勾选"Windows Media Player"组件,确定返回。

2)控件常用属性介绍:

WindowsMediaPlayer1.URL = "你要播放的某文件";这里指定你要播放的文件。

WindowsMediaPlayer1.Controls.play;播放。

WindowsMediaPlayer1.Controls.pause;暂停。

WindowsMediaPlayer1.Controls.stop;停止。

WindowsMediaPlayer1.fullScreen;全屏。

系统总体分析

3.1 系统总体结构设计及分析

本设计将采用Windows Media Player控件结合文件读写等来全面实现多媒体文件的播放和操作。系统结构图如1所示:

 

图1 设计系统结构图

3.2 系统功能设计

设计的功能主要分四大子模块:文件加载、播放、关闭、认证。文件加载是由打开和添加两个子功能模块组成。播放包括自定义播放顺序、连续播放多个文件、记忆播放三个子功能模块。自定义播放顺序则是由上一首、下一首、暂停/播放、停止、播放列表等子功能模块组成。关闭是由循环播放和播放一次就关闭两个子功能模块组成。身份认证是由登陆和修改认证两个子功能模块组成。

系统功能概要图如图2所示:

 

图2 系统功能概要图

  • 认证

认证包括两个子功能:

1)认证登录:通过用户名和密码的认证登陆,播放器才能被使用,功能主要是保护隐私,不能是所有人都能使用播放器,实现了权限的分级,更具有安全性。

2)修改认证:输入原来的用户名和密码,再输入想修改成的用户名和密码,单击确定。当下次打开播放器的时候,认证将采用修改后的新用户名和新密码。

  • 文件加载

文件加载包括两个子功能:

1)打开:加载一个或者多个文件到播放列表中,并自动播放;加载新的文件进入时,覆盖播放列表中原有的播放文件。

2)添加:加载一个或者多个文件到播放列表中,不会覆盖原有的播放列表,只是添加在原有列表的后面。

  • 播放

播放包括了三个子功能:

1)自定义播放顺序:单击下一首按钮,开始播放下一个文件,单击上一首按钮,开始播放上一个文件。单击暂停按钮,则播放器暂停播放,同时暂停按钮变为开始按钮,单击开始按钮,播放器从暂停处继续播放,同时开始按钮恢复为暂停按钮。单击停止按钮,播放器停止播放。双击播放列表中想要播放文件的文件名,直接播放。

2)连续播放多个文件:用户可以添加一个或者多个多媒体文件在播放列表中,若添加多个文件,则按顺序连续循环播放。并在播放器的标题栏显示正在播放歌曲或者视频的名字。

3)记忆播放:退出播放器时,程序自动将用户选择的目录保存到index文件夹中,以便下次打开播放器时,读取index文件夹中保存的文件记录,可以直接从上次退出时正在播放的那个文件开始继续播放,这样就能实现每次启动播放器,首先播放的是上次退出时播放的那个文件。这样做就使得播放器具有了记忆功能。

  • 关闭

关闭包括两个子功能:

1)循环播放:在默认情况下,播放器是处在循环播放状态中,所谓循环播放就是当播放完播放列表中的多媒体文件时,又回到第一个文件开始播放。

2)自动关闭:播放完播放列表中的所有文件后,如果选择了自动关闭功能,那么可执行的播放器将自动关闭。当再次打开播放器时,播放器又从第一个文件开始播放。

系统实施方案

4.1 媒体播放器界面设计

此界面实现设计的大多功能,其中包括文件的加载,播放,以及关闭播放器等功能。

媒体播放器播放界面如图3所示:

 

图3媒体播放器界面

4.2 身份认证

  • 登录

初始化的用户名和密码可以通过身份认证,只有通过身份认证的用户才能够正常的使用播放器。

登陆界面如图4所示:

 

图4登陆界面

打开播放器就会自动弹出一个登陆界面,如图4所示,输入初始用户名和密码进入播放器界面,如图3所示,才能正常使用播放器。在文件中输入原始的用户名和密码,打开播放器时,在登陆界面中输入原始用户名和密码后,输入的将于文件中的原始用户名和密码进行对比,如果是正确的,将启动播放器。如果错误将弹出错误提示框。其实现代码为:

1)用户名和密码保存函数

If file.Exists(Application.StartupPath & "\pass.txt") Then

            Dim obj As New StreamReader(Application.StartupPath & "\pass.txt", True)

            strtest = obj.ReadLine()

            obj.Close()

        End If

2)读取保存信息:

readIndex()

form1.Show()

form1.WindowsMediaPlayer1.Ctlcontrols.stop()

form1.Enabled = False

此时播放器是不可用的。

3)输入信息和保存信息的比较:

Dim str1 As String

        str1 = TextBox1.Text + "|" + TextBox2.Text

        If str1 = strtest Then

            form1.Show()

            form1.Enabled = True

            form1.WindowsMediaPlayer1.Ctlcontrols.play()

            Me.Hide()

        Else

            MsgBox("用户名或者密码错误")

        End If

  • 认证修改

当一个用户名和密码用久了,它的保密性也就随之下降了,认证修改提供解决问题的途径,及时的修改用户名和密码可以保证播放器系统的安全性,能使播放器的专有性更强。

认证修改界面如图5所示:

 

图5认证修改界面

单击操作,选择修改认证,将会弹出修改认证界面,如图5所示,输入旧用户名和密码,再输入新用户名和密码,点击修改,如果跟文件中原有的旧用户名和密码对比相同,那么修改成功,下次登陆将采用新的用户名和密码,如果旧用户名和密码与文件中原有用户名和密码不相同,那么修改失败,弹出出错提示框。其实现代码为:

1)读取用户名和密码:

If file.Exists(Application.StartupPath & "\pass.txt") Then

            Dim obj As New StreamReader(Application.StartupPath & "\pass.txt", True)

            nameandpass = obj.ReadLine()

            obj.Close()

        End If

2)写入用户名和密码:

If file.Exists(Application.StartupPath & "\pass.txt") Then

            file.Delete(Application.StartupPath & "\pass.txt")

        End If

        Dim obj As New StreamWriter(Application.StartupPath & "\pass.txt", True)

        obj.Write(str)

        obj.Close()

3)比较旧用户名和密码并用新用户名和密码代替:

oldnameandpass = TextBox4.Text + "|" + TextBox3.Text

        If oldnameandpass = nameandpass Then

            Dim newNP As String

            newNP = TextBox1.Text + "|" + TextBox2.Text

            writepass(newNP)

            Me.Close()

        Else

            MsgBox("用户名或者密码错误!")

        End If

4.3 文件加载系统

  • 打开

打开系统是向播放列表加载一个或者多个多媒体文件,通过打开加载文件时,将会覆盖播放列表中已有的文件。并且将自动播放。其实现代码为:

1)打开文件:

With Openfile

            .FileName = ""

            .Filter = "视频文件(*.rm;*.rmvb;*.dat;*.avi;*.mp3;*.asf;*.mpg)|*.rm;*.rmvb;*.dat;*.avi;*.mp3;*.asf;*.mpg|音频文件(*.mp3;*.wav;*.wma;*.mid)|*.mp3;*.wav;*.wma;mid|所有文件(*.*)|*.*"

            .Multiselect = True

            If .ShowDialog() = DialogResult.Cancel Then Exit Sub

        End With

2)清空播放列表:

file = Openfile.FileNames.Length

            If file = 0 Then Exit Sub

            播放列表.Items.Clear()

            filelist.Clear()

3)加载新文件:

filename = Openfile.FileNames

ReDim strfile(file)

For i = 0 To file - 1

                For j = 0 To filename(i).Length

If Microsoft.VisualBasic.Right(filename(i), j + 1).Chars(0) = "\" Then

strfile(i) = CType(Microsoft.VisualBasic.Right(filename(i), j), String) 

strfile(i) = CType(Microsoft.VisualBasic.Left(strfile(i), strfile(i).Length - 4), String) 

For i = 0 To file - 1

 

                播放列表.Items.Add(i + 1 & ". " & strfile(i))

                filelist.Add(filename(i)) 

4)自动播放:

WindowsMediaPlayer1.URL = filename(0)

            播放列表.SetSelected(0, True)

            cmbAdd() 

5)操作流程:

单击图3上面的‘打开’按钮,弹出文件加载对话框,如图6所示:

 

图6打开弹出对话框

选择要打开的文件,单击图6的“打开”按钮,加载文件成功。加载成功后对比加载前后的播放列表发现打开的文件代替了播放列表中原有的文件。如图7,8所示:

 

图7“打开”操作前播放列表图

 

图8“打开”操作后播放列表图

  • 添加

添加系统的功能是向播放列表添加多媒体文件,一次可以添加一个或者多个文件,不影响播放列表中的原有文件,仅仅是在其后增加文件。其实现代码相比打开仅仅是少了清空播放列表的代码,在这里就不赘言了。

操作流程:单击图3上面的“添加”按钮,弹出打开对话框,如图9所示,

 

图9添加弹出对话框

选择要添加的文件,单击图9上的“打开”按钮,添加成功。添加前后的播放列表对比,如图10,11所示:

 

图10添加操作后播放列表图

 

图11添加操作前播放列表图

一个简单的媒体播放器的设计与实现[点击下载]

评论