多媒体视频播放器

多媒体视频播放器
多媒体视频播放器

目录

多媒体视频播放器 (1)

1基本功能描述 (1)

2设计思路 (1)

3软件设计 (2)

3.1 设计步骤 (3)

3.2 界面设计 (6)

3.3 关键功能的实现 (9)

3.3.1 “打开”功能的实现 (9)

3.3.2 “播放”、“暂停”、“停止”“全屏”功能的实现 (10)

3.3.3 “上一首”和“下一首”功能实现 (11)

3.3.4 音量滑动条功能的实现 (12)

3.3.5 播放列表功能的实现 (13)

3.3.6进度滑动条功能的实现 (15)

4结论与心得体会 (16)

5参考文献 (17)

6思考题 (17)

7 附录 (18)

7.1调试报告 (18)

7.1.1 调试一 (18)

7.1.2 调试二 (19)

7.2 测试结果 (20)

7.3 关键源代码 (21)

多媒体视频播放器

1基本功能描述

多媒体视频播放工具是目前计算机必备的一个软件,比较流行的有Real Player、Windows Media Player 以及国产暴风影音等,能够播放RM、RMVB、MP3、MPEG、DAT 等多种格式的视频文件mp3、wma、mdi、wav、avi、dat 等格式的音频文件。

用VC++软件设计并编写出一个多媒体视频播放器。在设计期间,可以选择使用的多媒体控件,制作与用户交互性较好的应用程序界面。对于控件有多种,可以自己选择。本次课程设计要使用VC++6.0 内部的ActiveX 控件——Windows Media Player 控件,建立自己的多媒体播放器。

此多媒体播放器具有打开文件、播放、暂停、停止、关闭、全屏、音量滑块调节、进度滑块调节、快进、快退、显示隐藏播放列表等基本功能,可以播放*.mp3、*.wma、*.mdi、*.wav、*.avi、*.dat、*.mpg、*.rmvb等格式的多媒体文件。同时还具有自制的播放列表,可以按照列表上的顺序进行一曲、下一曲的播放。

2设计思路

Windows Media Player是一款Windows系统自带的播放器,支持通过插件增强功能。其控件作为本次课设的媒体控件可以满足要求。并且该控件是微软自带的免费控件,通常每个电脑都应有这个控件,方便设计出来的软件在各个电脑运行。

根据Windows Media Player 和各个按钮控件功能的特点,首先要在初始化中对CWMPControl,CWMPSettings,CWMPPlaylist,CWMPMedia 等类的对象进行绑定和定义。播放器的一些基本的功能如播放、暂停、全屏、静音、快进、快退等主要是调用CWMPControl 和CWMPPlayer 类中的成员函数来进行实现。对于打开按钮,需要调用通用文件对话框类,调用szFileFilter()文件过滤函数和GetFileName()获取文件名函数。

除了以上提到的功能的实现,还有进度滑条Slider_progress和音量滑动条Slider2是通过对CSliderCtrl 类实现的。

图1

视频播放器流程图

3软件设计

设计平台可以是Win32的操作平台上,使用已安装的VC6.0++进行设计和调试。在设

初始化

点击“打开”选择文件显示在list.txt 中

双击列表框中内容或选中单击“播放”开始播放

点击“保存列表”

List.txt

删除列表

打开程序

音量滑块50,新建list.txt ,计时器开启

点击“暂停/继续”

点击“停止”

点击“下一首”

点击“快进”

音量调节

OnTimer ()

CwnpCon trol 类中的pause 函数和play 函数

CwnpC ontrol 类中的stop 函数

int idex=当前光标位置加1,读取idex 中文本,返回SetUrl 函数 响

CwnpCo ntrol 类中

fastForw ard 函数

获取位置参数返回响

CwnpSetti ng 类中的Setvolume

获取当前播放位置返回给进度条滑块的SetPos 获取音量返回SetPos

计前要确保平台中有WMP控件。结合之前的设计思路,使用Windows Media Player 等控件来制作多媒体视频播放器。若是Win64这与VC6.0++不兼容,可以选择更高的版本。

3.1 设计步骤

打开VC++6.0,点击“新建”,在“新建”窗口选择“工程”选项卡。由于程序是基于对话框的MFC 应用程序使用Windows Media Player等控件来制作多媒体视频播放器。设置好地址位置和工程名后点“确定”。这里的工程名字可以是自己的名字拼音缩写,也可以没有任何含义。

图2 “新建”对话框示意图

在点击“确定”后进入到了“MFC应用程序向导—步骤1”的设置界面,选择“基本对话框”,然后点击“下一步”。

图3 “MFC 应用程序向导”示意图

在剩下的3个步骤中,全部选择默认的设置,不要做随意更改,直至“完成”便实现了对话框的创建。然后是插入控件,先把系统初始化的按钮用“Delete”删除,在单击鼠标右键选择“插入ActiveX 控件”,在跳出的对话框中选择“Windows Media Player”(一般当电脑安装了Windows Media Player,其控件也应该存在),点击“确定”。

图4 添加“Windows Media Player”控件示意图

虽然已经插入控件了,但这时的控件还不能使用,因为控件的各种类并没有一起加入工程类中。右击鼠标,选择“建立类向导……”,这时系统跳出对话框提示是否加入来自控件的类,直接点击“确定”就可以了。

图5 “Windows Media Player”控件类添加示意图接着对控件关联变量,右击加入的WMP控件,点击“属性”,把ID改为“IDC_player”,然后打开“建立类向导……”点到“Member Variables”页面向IDC_player添加变量。单击“ADD Variables”,会弹出图6所示的“Add member name”对话框,命名为“m_player”,设为控制“Control”型,点击“OK”。

图6 变量命名示意图

关联变量之后才算是真正的添加了该控件,可以发现在关联变量之后,控件工具栏多

了“Windows Media Player”控件的选项,并且在“Source Files”中增加了17个类,相应的头文件也增加了17个,其中最主要的类为Cwmpplayer4,Cwmpcontrols,Cwmpmedia,Cwmpsettings 四个大类。

Cwmpplayer4 类主要是关于对其他类的对象的调用以及基本的控件功能的实现,提供了与Windows Media Player 控件进行交互的基本方法,其中部分成员函数还能够进一步获取得到其他相关类对象的实例;Cwmpcontrols 类主要是对控件的更多的操作;Cwmpmedia 类主要是对于媒体文件资源的一些操作;Cwmpsettings 类主要是对于媒体文件中的一些基本设置的操作。

3.2 界面设计

首先是打开按钮,用于媒体文件的打开;然后依次是播放、暂停、停止、快进、快退、静音、全屏、退出、上一首、下一首、显示/隐藏按钮,以及视频进度滑块和音量滑块条Slider 控件。对控件主要进行变量的关联,以及ID 的修改,对于普通按钮进行ID修改,结果如下下表1、表2、表3和表4所示。

表1 控件ID 以及对应响应函数表

按钮ID 控件Caption 消息响应函数类型IDC_BUTTON_open 打开OnBUTTONopen() 命令按钮IDC_BUTTON_fullscreen 全屏OnBUTTONfullscreen() 命令按钮IDC_BUTTON_play 播放OnBUTTONplay() 命令按钮IDC_BUTTON_panse 暂停/播放OnBUTTONpanse() 命令按钮IDC_BUTTON_stop 停止OnBUTTONstop() 命令按钮IDC_BUTTON_fastforward 快进OnBUTTONFastforward() 命令按钮IDC_BUTTON_fasteverse 快退OnBUTTONfasteverse() 命令按钮IDC_BUTTON_pre 上一曲OnBUTTONpre() 命令按钮IDC_BUTTON_next 下一曲OnBUTTONnext() 命令按钮IDC_BUTTON4_mute 静音OnBUTTON4mute() 命令按钮IDCANCEL 退出无命令按钮IDC_BUTTON_show 隐藏/展开OnBUTTONshow() 命令按钮

IDC_BUTTON_save 保存列表OnBUTTONsave() 命令按钮IDC_BUTTON_clear 删除列表OnBUTTONclear() 命令按钮然后是加入一些关联变量的控件,之前加入了WMPlayer,还要加入类别为“滑块”的Slider来当调节声音的滑块,还有加入类别为“列表框”的List Control来充当播放列表。

表2 控件ID 以及关联变量表

按钮ID 控件Caption 变量名称类型

IDC_OCX1 WMPlayer m_player CWMPlayer4 IDC_SLIDER_progress Slider m_jindu CSliderCtrl IDC_SLIDER_vol Slider m_vol CSliderCtrl IDC_LIST_MENU List Control m_list2 CListBox

在按钮对应的消息响应函数中写程序将要用到表2的变量和WMP控件中的5个类的函数。

在这五个类中:Cwmpplayer4 类主要是关于对其他类的对象的调用以及基本的控件功能的实现,是WMP控件函数与外部交流的桥梁,不可缺少。宁外其部分成员函数还能够进一步获取得到其他相关类对象的实例;Cwmpcontrols 类主要是对控件的更多的操作,例如播放、暂停;Cwmpmedia 类主要是对于媒体文件资源的一些操作,例如获取路径和名称;Cwmpplaylist类主要是关于播放列表的操作;Cwmpsettings 类主要是对于媒体文件中的一些基本设置的操作。

表3 其他类及对应对象表

类名头文件名对象名

CWMPControls Wmpcontrols.h m_Control CWMPSettings wmpsettings.h m_Setting

CWMPMedia wmpmedia.h m_Media

CWMPPlaylist wmpplaylist.h m_Playlist

表4 其他数据定义

数据类型变量名数据类型变量名

CString m_FileName BOOL flag,flag2,n

CString m_PathName int vol

除了对各个控件关联变量以及消息响应函数,还要对对话框类进行消息响应函数的关联,如当一首歌播放完后的模式选择。应用到WM_TIMER 消息响应函数以及SetTimer()和KillTimer()函数,如图建立OnTimer函数。

图7 添加“WM_TIMER”消息函数示意图

还有菜单的设计,其相对简单,只要名称和ID与表1保持一致就可以了。在“Resource File”中右击鼠标添加“MENU”,属性为“IDR_MENU1”。但是菜单并未与对话窗口有实质联系,需要将菜单加入到“IDD_SHIFAN_DIALOG”中来,在“IDD_SHIFAN_DIALOG”窗口空白右键单击,选中菜单“IDR_MENU1”,这样便完成了对菜单的加载。

图8 控件按钮分布图

编译运行程序后得到了初步的界面效果图,当然还没有加入函数。同时在左上角会显示自己写的工程名“YLJ_Media_Player”,如图8所示。

3.3 关键功能的实现

对于各个按钮、列表功能的实现主要是通过对各个函数加入相应的代码,下文将列出相应的关键代码。

3.3.1 “打开”功能的实现

“打开”按钮主要是实现了对打开的文件进行过滤,主要使用了szFileFilter()函数。点击确定时,首先是把文件路径传给播放列表中,列表在从文件路径中提取文件名来显示。然后又把文件路径通过SetUrl()交给控件读取播放。

void CYLJ_Media_PlayerDlg::OnBUTTONopen()

{

char szFileFilter[]="所有支持类型

|*.mp3;*.mp4;*.wma;*.dat;*.wav;*.avi;*.mov;*.rmvb;*.mmm;*.mid;*.rmi;*.mpeg;*.mpg|"

"Mp3 File(*.mp3)|*.mp3|"

"Mp4 File(*.mp4)|*.mp4|"

"Wma File(*.wma)|*.wma|"

"Video File(*.dat)|*.dat|"

"Wave File(*.wav)|*.wav|"

"A VI File(*.avi)|*.avi|"

"Movie File(*.mov)|*.mov|"

"Rmvb File(*.rmvb)|*.rmvb|"

"Media File(*.mmm)|*.mmm|"

"Mid File(*.mid;*,rmi)|*.mid;*.rmi|"

"MPEG File(*.mpeg)|*.mpeg|"

"MPG File(*.mpg)|*.mpg|"

"All File(*.*)|*.*||";//文件类型过滤

CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,szFileFilter);

POSITION pos=dlg.GetStartPosition();

if(dlg.DoModal()==IDOK)

{while(pos!=NULL)

{

m_PathName=dlg.GetNextPathName(pos);

m_list2.AddString(m_PathName);

}

}

}

3.3.2 “播放”、“暂停”、“停止”“全屏”功能的实现

其实和3.3.1中提到一种播放方法一样使用了SetUrl()函数来实现。

void CYLJ_Media_PlayerDlg::OnBUTTONplay()

{

CString str;

int index=m_list2.GetCurSel();

m_list2.GetText(index,str);

m_player.SetUrl(str);

}

“暂停”和“停止”功能实现方法和播放差不多,只是使用的m_player.GetControls()中函数改变了。

void CYLJ_Media_PlayerDlg::OnBUTTONpanse()

{

flag2=!flag2;

if(flag2){

m_player.GetControls().pause();

}

else{

m_player.GetControls().play();

}

}

void CYLJ_Media_PlayerDlg::OnBUTTONstop()

{

m_player.GetControls().stop();

}

全屏功能的实现也是调用SetFullScreen(TRUE)函数来实现。

void CYLJ_Media_PlayerDlg::OnBUTTONfullscreen()

{

m_player.SetFullScreen(TRUE);

}

3.3.3 “上一首”和“下一首”功能实现

“上一首”就是让光标往上移一行,也就是对应的光标变量(index)减去1。当要判

断光标在第一行的情况,也就是index=0的时候,这时光标应移到最后一首歌曲或视频上。void CYLJ_Media_PlayerDlg::OnBUTTONpre()

{

CString str;

int index=m_list2.GetCurSel()-1;//光标减一

if(index<0) index=m_list2.GetCount()-1;//如果播放完第一曲就自动播放最后一首

m_list2.GetText(index,str);//获得当前光标所指的路径字符串

m_player.SetUrl(str);//开始播放上一首

m_list2.SetCurSel(index);//自动置光标

}

其“下一首”和“上一首”大同小异,只不过index应加1,在光标为最后一行时应判断移动到第一行。

void CYLJ_Media_PlayerDlg::OnBUTTONnext()

{

CString str;

int index=m_list2.GetCurSel()+1; //光标加一

if(index>=m_list2.GetCount()) index=0;//如果播放完最后一曲就自动播放第一首

m_list2.GetText(index,str); //获得当前光标所指的路径字符串

m_player.SetUrl(str); //开始播放下一首

m_list2.SetCurSel(index);//自动置光标

}

3.3.4 音量滑动条功能的实现

音量滑动条是区别于其他命令按钮的,它是滑块,是调用CSliderCtrl 控件的m_vol 变量来实现的。音量调节函数主要是使用一个嵌套函数“m_player.GetSettings().SetV olume(100-m_vol.GetPos());”实现的。设置音量用的是“SetV olume()”函数。在“OnInitDialog()”函数中已对滑块范围进行初始化——CSliderCtrl* pSlide1 =(CSliderCtrl*) GetDlgItem(IDC_SLIDER1);pSlide1->SetRange(0, 100); 使音量变化

范围为0~100。

void CYLJ_Media_PlayerDlg::OnReleasedcaptureSlider1(NMHDR* pNMHDR, LRESULT* pResult)

{

m_player.GetSettings().SetV olume(100-m_vol.GetPos());

*pResult = 0;

}

另外静音程序如下,在静音按钮按下后把系统音量保存在vol中,等恢复时使用,再设置为静音,再次按下后取消静音然后恢复开始音量。

void CYLJ_Media_PlayerDlg::OnBUTTON4mute()

{

n=!n;

if (n)

{

vol=m_player.GetSettings().GetV olume();// 获取当前音量值

m_player.GetSettings().SetMute(TRUE);//设为静音

}

else

{

m_player.GetSettings().SetMute(FALSE);//解除静音

m_player.GetSettings().SetV olume(vol);//恢复当前音量值

}

}

3.3.5 播放列表功能的实现

播放列表主要有“隐藏/展开”、“保存列表”、“清空列表”这三个功能。

这个列表的三个功能实现前提第一次运行程序时会在E盘新建一个txt文档并命名为“list.txt”。初始化函数如下:

CStdioFile *fsp=new CStdioFile("E:\\list.txt",CFile::modeRead);

CString str;

while(fsp->ReadString(str))

{

m_list2.AddString(str);

}

fsp->Close();

delete fsp;

文档可以保存播放文件列表使在下次打开时可自动的生成播放列表。下面是“保存列表”的函数。

void CYLJ_Media_PlayerDlg::OnBUTTONsave()

{

// TODO: Add your control notification handler code here

CStdioFile file;

CString strtemp;

file.Open("E:\\list.txt",CFile::modeCreate|CFile::modeReadWrite|CFile::typeText);

for(int i=0;i

{

CString strtemp;

m_list2.GetText(i,strtemp);

strtemp+="\n";//换行

file.WriteString(strtemp);

}

file.Close();

}

然后是“清除列表”功能,用“ResetContent()”直接清除列表。

void CYLJ_Media_PlayerDlg::OnBUTTONclear()

{

CStdioFile file;

m_list2.ResetContent();

file.Open("E:\\list.txt",CFile::modeCreate);

file.Close();

}

最后是“显示/隐藏”功能,其实就是在重新设置窗口大小,若展开则恢复原来的窗口大小,这里使用了SetWindowPos()函数。

void CYLJ_Media_PlayerDlg::OnBUTTONshow()

{

flag=!flag;

if(flag) SetWindowPos(NULL,0,0,500,520,SWP_NOMOVE);

else SetWindowPos(NULL,0,0,702,520,SWP_NOMOVE);

}

3.3.6进度滑动条功能的实现

进度条可以时时显示播放的位置,而视频进度滑块的初始化放在OnHScroll()函数中实现。

void CYLJ_Media_PlayerDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)

{

int m_time;

m_time=(int)m_player.GetCurrentMedia().GetDuration();

m_jindu.SetRange(0,m_time);//初始化视频进度滑块

int NewPos;

if((CSliderCtrl*)pScrollBar==&m_jindu)

{

switch(nSBCode)

{

case SB_THUMBTRACK:

m_jindu.SetPos(nPos);

m_player.GetControls().SetCurrentPosition((double)nPos);

break;

case SB_PAGEDOWN:

NewPos=m_jindu.GetPos();

m_player.GetControls().SetCurrentPosition((double)NewPos);

break;

case SB_PAGEUP:

NewPos=m_jindu.GetPos();

m_player.GetControls().SetCurrentPosition((double)NewPos);

break;

}

}

视频进度的控制主要是SB_THUMBTRACK、SB_PAGEDOWN、SB_PAGEUP,三个消息响应即移动滑块、单击滑块右边滑条、单击滑块左边滑条的消息响应来实现视频进度的控制。

4结论与心得体会

平时我挺喜欢听歌看电影的,当看到老师给的选题中有多媒体视频播放器这个题目,我开始是还是挺激动的,能够自己做一个简单的程序,满足自己的爱好也是挺有成就感的。

在一开始选这个课题时,我和其他同学都觉得很难。不像简单计算器和画图软件等课题曾在上课提到过,对于多媒体播放器我看到看到了题目不知道该怎样做。然后我花了大量时间去了解第一步怎么做,分别查找了各个控件基本用法功能,最后选用了Windows Media Player 控件,因为我vc中只能找到这个与视频有关的控件,于是在网上查了一些关于Windows Media Player 控件的资料,结果按照网上说的方法来根本无法实现,因为网上都说要先插入17个Windows Media Player 控件相关的类,但是我vc却不照网上那样实现,所以在头两天是在摸索中,耗费了很多时间,最后我先不管第一步,直接插入控件,然后发现关联变量时会有提示要插入17个类,点确定就行,问题就这么解决了。

然后我和同组的同学在网上找相应的资料,找到怎样在VC++6.0里加入控件,各个控件的说明书。进过比较和分析,我们一致采用Windows Media Player多媒体软件旗下的控件WMP控件。因为WMP控件本身就是微软自带的控件,不存在兼容问题。还有每个电脑多都有Windows Media Player播放器,其控件也都注册了。

知道怎样使用WMP控件,就可以很轻松地完成软件流程图的设计。我结合了自己在网上搜索的资料,做好了整个多媒体播放器的整体设计,确定了软件的框架、主要构件以及构件之间的关联,而后由总体设计逐渐深入完成软件的详细设计和开发过程。编写代码更加有条理,才会更加符合软件工程的标准。整个程序设计我做了两天,每天熬夜到1点多,也学会了不少东西。

最后终于变好了,编写的软件可以满足课程设计给出的要求。系统能选择打开、播放、暂停、停止音频文件和视频文件,并能控制声音的大小,可以播放*.mp3、*.wma、*.mdi、*.wav、*avi、*dat 等格式的多媒体文件。看到点击每一个按钮都能有相应的反应,顿时有了一种莫名的成就感,也感觉到自己的汗水得到了回报。

纸上得来终觉浅,绝知此事要躬行。要想完成一项作品,并不是想的那样简单,做起来总是会遇到问题的,这时就需要要解决问题的能力和坚持不懈的决心。通过本次试验,我收获了很多,对面向对象程序设计这门课所学的知识有了更好的理解。书山有路勤为径,学海无涯苦作舟。

5参考文献

[1]揣锦华.面向对象程序设计与VC++实践[M].西安电子科技大学出版社.2005

[2]郑阿奇.Visual C++教程[M].北京:机械工业出版社.2004

[3]周长发.Visual C++.NET 多媒体编程[M].电子工业出版社.2002

[4]Steve Mack.流媒体宝典.电子工业出版社.2003

[5]王育坚.Visual C++面向对象编程教程.第2 版.北京:清华大学出版社,2008

6思考题

1)控件自带的类和本程序中的类是如何共同作用的?

答:控件自带的的类肯定会在对话框的主程序中被调用,那么就要在主程序中#include 入对应类的头文件。对需要用到的类生成对应的对象以实现类中函数的使用。

调用了控件类中的函数后,还需要调用对话框自身的函数,比如消息及消息响应函数等函数,以及各控件对应的消息响应函数。如此便可以实现控件自带类和本程序中的类的共同作用。

2)说明程序中调用的控件函数的作用?

答:控件的不同类有不同的函数与之对应,不同函数有不同的功能。其函数功能见表。

表5 控件函数和对应的功能

功能控件函数功能控件函数

打开OnBUTTONopen() 进度刷新OnTimer()

播放OnBUTTONplay() 停止OnBUTTONstop()

暂停OnBUTTONpause() 上一首OnBUTTONpre()

快进OnBUTTONFastforward 下一首OnBUTTONnext()

快退OnBUTTONFastreverse() 保存列表OnBUTTONsave() 声音滑块OnReleasedcaptureSlider1() 清空列表OnBUTTONclear() 全屏OnBUTTONfullscreen() 进度控制OnHScroll()

7 附录

7.1调试报告

7.1.1 调试一

运行时错误指明如下如图所示:

图9 调试一错误提示

错误提示为:use of undefined type 'CWMPControls'。在这行代码中,我用控件变量m_player调用GetControls()函数来获得CWMPControls类的对象以调用该的成员函数pause()函数,根据错误提示可知,我这行代码是写在视图类中,调用pause()属于类外调用,但是该类不认识CWMPControls类,所以要在视图类的最前面要加个头文件#include "wmpcontrols.h"。

7.1.2 调试二

在调试播放列表时,看到播放列表中显示了路径感觉没有必要,所以修改了代码使只把歌曲名给了代码。但这样再来播放列表上的歌曲时不能播放。

图10 调试二的说明图

原因:是因为播放列表上只有歌曲名,没了路径的话是不能找到文件的,所以不能播放。所以解决方法是修改代码使其把歌曲路径递给播放列表。但后来听老师的解说,可以通过取字符串函数来从路径里取文件名。即播放列表中储存的是路径,但显示的是路径中文件名。

多媒体播放器的设计与实现

《多媒体技术》 课程论文 题目:基于MFC的多媒体播放器的设计与实现专业: 班级: 姓名: 学号: 指导老师:

摘要: 本程序是基于MFC集成开发环境,利用ActiveMovie控件实现媒体播放的功能的多媒体播放器。具有打开文件、播放、暂停、全屏、音量调节、静音、快进、快退等基本播放功能。系统开发平台为Windows 7操作系统,程序设计环境采用Visual C++ 6.0。 关键字:MFC,ActiveMovie,多媒体

1.开发工具及相关知识介绍 MFC(MicrosoftFoundationClasses)是微软基础类库的简称,是微软公司实现的一个c++类库,主要封装了大部分的windows API函数,vc++是微软公司开发的c/c++的集成开发环境,所谓集成开发环境,就是说利用它可以编辑,编译,调试,而不是使用多种工具轮换操作,灵活性较大。vc也指它的内部编译器,集成开发环境必须有一个编译器内核,例如DevC++其中一个编译器内核就是gcc。 MFC除了是一个类库以外,还是一个框架,在vc++里新建一个MFC的工程,开发环境会自动帮你产生许多文件,同时它使用了mfcxx.dll。xx是版本,它封装了mfc内核,这样你就可以专心的考虑你程序的逻辑,而不是这些每次编程都要重复的东西,但是由于是通用框架,没有最好的针对性,当然也就丧失了一些灵活性和效率。 一个MFC窗口对象是一个C++ CWnd类(或派生类)的实例,是程序直接创建的。在程序执行中它随着窗口类构造函数的调用而生成,随着析构函数的调用而消失。而Windows窗口则是Windows系统的一个内部数据结构的实例,由一个“窗口句柄”标识,Windows系统创建它并给它分配系统资源。Windows窗口在MFC 窗口对象创建之后,由CWnd类的Create成员函数创建,“窗口句柄”保存在窗口对象的m_hWnd成员变量中。Windows窗口可以被一个程序销毁,也可以被用户的动作销毁。

视频播放器课程设计报告

课程设计实验报告 题目:基于andriod平台的视频播放器设计院(系):电子与信息工程系 专业: 团队成员: : : 辅导老师: 2011 年 12 月 29 日

摘要 一.Andriod平台 1.谷歌与开放手机联盟合作开发了 Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达和 T-Mobile 在内的 30 多家技术和无线应用的领军企业组成。 2.Android 是一个真正意义上的开放性移动设备综合平台。通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,来建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统,这样应用之间的通用性和互联性将在最大程度上得到保持。 3.所有的Android应用之间是完全平等的。 4.所有的应用都运行在一个核心的引擎上面,这个核心引擎其实就是一个虚拟机,它提供了一系列用于应用和硬件资源间进行通讯的API。撇开这个核心引擎,Android的所有其他的东西都是”应用”。 5.Android打破了应用之间的界限,比如开发人员可以把Web上的数据与本地的联系人,日历,位置信息结合起来,为用户创造全新的用户体验 二.Java开发环境 Java技术包含了一个编程语言及一个平台。Java编程语言具有很多特性,如面向对象、跨平台、分布式、多线程、解释性等等。Java编程

语言起源于

Sun公司的一个叫“Green”的项目,目的是开发嵌入家用电器的分布式系统,使电器更加智能化。1996年1月发布了JDK1.1版本,一门新语言自此走向世界。之后,1998年12月发布了1.2版本,2002年2月发布1.4版本,2004年10月发布1.5版本(5.0),2006年12月发布1.6(6.0)版本,这是目前的最新版本。Java 1.2版本是一个重要的版本,基于该版本,Sun将Java技术分成J2SE、J2ME、J2EE,其中J2SE为创建和运行Java程序提供了最基本的环境,J2ME与J2EE建立在J2SE的基础上,J2ME为嵌入式应用(如运行在手机里的Java程序)提供开发与运行环境,J2EE为分布式的企业应用提供开发与运行环境。 三.Eclipse Eclipse的基础是富客户机平台(Rich Client Platform,即RCP)。 RCP包括下列组件: ?核心平台(启动Eclipse,运行插件) ?标准集束框架(OSGi:Open Service Gateway initiative) ?可移植构件工具包(SWT:Eclipse’s Standard Widget Toolkit) ? JFace(文件缓冲,文本处理,文本编辑器) Eclipse采用的技术是IBM公司开发的SWT,这是一种基于Java的窗口组件,类似Java本身提供的AWT和Swing窗口组件;不过IBM声称SWT比其他Java窗口组件更有效率。Eclipse的用户界面还使用了GUI中间层JFace,从而简化了基于SWT的应用程序的构建。 Eclipse的设计思想是:一切皆插件。Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上。

基于Android的视频播放器的设计与实现

基于Android的视频播放器的设计与实现

基于Android的视频播放器的设计与实现 中文摘要 如今,随着基于Android操作系统的智能手机的广泛应用,视频播放器已成为智能手机的一个必不可少的程序,广大用户迫切需要一个贴近用户、方便用户、个性化的视频播放器。因此,设计一个基于android手机的多功能播放器,具有重要的实际意义。 本次毕业设计主要使用JDK + Eclipse + Android-SDK-Windows工具进行开发,使用的编程语言是Java语言。该程序主要由4个不同Activity来实现,每个Activity实现相应的功能模块,能够有效满足Android手机用户在视频播放中的常见需求。 本论文详细介绍了播放器程序的设计思路、设计方案、系统结构和项目工程结构,对系统的可行性与需求性进行了详细的分析,阐述了系统各个模块功能的设计与实现。对程序主要的Activity都进行了详细的介绍和分析,包括对其使用的布局文件的具体介绍,以及各个控件的作用。在最后进行了程序测试,对每一个实现的模块功能都做了测试,并且记录了大量截图用来展示测试结果,以观察程序应有的功能是否正常运行,以及发现程序中可能存在的问题。所开发的程序界面比较友好,操作相对容易,达到设计要求。 关键词:安卓;视频播放;Activity;Mediaplayer

The Design and Implementation of Video Player Based on Android ABSTRACT Now, with the wide application of smart phone based on the Android operating system, video player has become the essential application of smart phone. Most of consumers urgently require a personalized video player which is close to user and facilitate user. Therefore, the design of a multifunctional player based on android mobile phones has an important practical significance. The project design is developed by using JDK, Eclipse, and Android-SDK-Windows tools. The programming language is Java. The program consists of four different Activities and each Activity achieves the corresponding functional modules which can effectively satisfy the common requirements for playing video on Android mobile phones. This paper introduced the design ideas, design scheme, system architecture and project engineering structures of video player. The feasibility and requirements of system were analyzed in detail. The system function and each module were explained. The main Activity of the program are described and analyzed in detail including the using layout file, as well as the role of each control. Finally, I made the test for the program including the functions of each implemented modules. In order to observe whether the program should function properly and find the problems that may exist in the program, many screenshots were saved to demonstrate the test results. The developed program has a friendly interface and can be operated relatively easy, which has achieved the design requirement. KEY WORDS: Android; Video Play; Activity; Mediaplayer

基于嵌入式技术的视频媒体播放器的设计

本科毕业论文 题目:基于嵌入式技术的 视频媒体播放器的设计 学院: 班级: 姓名:王帅 指导教师:李怀繁职称:副教授 完成日期:2014 年6月 5 日

基于嵌入式技术的视频媒体播放器的设计 摘要:随着用户需求的日趋多样化,单一功能的视频媒体播放器功能已经渐渐强大起来。嵌入式设备以其强大的功能、低廉的价格等优点成为了开发视频媒体播放器首选设备。本文设计的播放器将视频媒体技术与嵌入式技术完美结合起来,不仅实现了音视频的播放,而且采用mini2440开发板,搭载Linux内核,使其具有强大的潜力,可开发实现多种功能,满足用户多变的需求。该视频媒体播放器支持多种格式的音、视频文件的播放,可实现媒体文件播放的暂停、音量调节等播放功能,并且由于其应用于Linux 内核之上,比其他播放器有更广阔的发展空间。 关键词:mini2440开发板;视频媒体播放器;Linux内核;嵌入式技术;

目录 1.引言 (1) 1.1 研究背景与目的 (1) 1.2 研究方法 (2) 2. 系统分析 (3) 2.1 概要分析 (3) 2.2 开发环境 (3) 3. 系统设计 (4) 3.1 构建基本环境 (4) 3.2 配置相关服务器 (5) 3.3 移植应用程序 (6) 4. 系统实现 (8) 4.1 运行流程 (8) 5 系统测试 (9) 5.1 测试流程 (9) 5.2 功能测试 (10) 结论 (13) 参考文献 (14) 附录 (16)

1引言 1.1 研究背景与目的 在现代信息化社会,视频媒体在信息产业和媒体技术的发展和在人类社会的应用等方面产生的影响和作用越来越明显,且越来越重要[1]。视频媒体技术的发展和应用,使得文化教育、科技、娱乐等诸多行业的飞速发展与相互渗透,同时,正在逐步改变着整个人类社会的生活方式与工作结构。不言而喻,媒体产业的产生和发展,不仅会引发计算机工业的革命,而且也将会推动人类社会发生巨大变革。 嵌入式操作系统是计算机技术发展到一定阶段的中间产物,它无法与功能全面的计算机操作系统相比,但却凭借自身体积小、功能专用、稳定性高、价格低廉等优点正迅猛发展。目前,具有知识产权保护的嵌入式系统在中国逐渐形成了一个热门领域,嵌入式系统的稳步发展使嵌入式软件的研发的重要性与日俱增。优秀的平台需要配合相应的应用才能充分发挥最大潜力,所以,视频媒体技术的嵌入式发展已成为视频媒体技术发展的必然。 近年来,随着嵌入式技术的飞速发展,越来越多的企业开始开发嵌入式软件,并取得了一定的成果,开发了许多产品,其中包括了一些类型的嵌入式视频播放器。但是却没有一款产品能够垄断嵌入式视频播放器的市场。究其原因,现今的视频媒体播放器大部分是由计算机上通用的媒体播放器移植而来的,忽视了嵌入式设备的特殊性,其播放器在实用功能、视频显示和操作方便上不能媲美于计算机,而且也没有发挥嵌入式系统的潜力[2]。 在世界的其他国家,对视频媒体技术的研究和媒体产业的发展非常重视,投入了大量的人力、物力,开发出了一些体积小、易用性好的媒体播放器,并且产品不断更新换代,发展上升空间巨大,功能日趋完善。 随着计算机的发展和影视行业以及数据处理等技术的日趋成熟,为视频媒体技术的起步奠定了坚实的基础,并为各个行业的相互渗透与大融合提供了可靠保证。同时,视频媒体是人类可直接接受的最丰富和最全面的信息来源,对于推动当今社会的发展和文明的进步起着重要作用,视频媒体技术的需求与日俱增。 在日益信息化的现代社会中,计算机和网络已经渗透了我们日常生活的方方面面。作为一个现实,一个新的嵌入式设备中各种应用的数量正在稳步上升,人们可以有各种嵌入式设备,甚至一个人有多种,如手机,MP3或智能电器[3],嵌入式技术正在飞速地发展。 将嵌入式技术与视频媒体技术的结合,将使得二者的功能更加强大。一种具有体

基于android平台的视频播放器设计

课程设计报告 课程名称《网络程序设计》课程设计 课题名称网络注册登录器 专业网络工程 班级1102 学号01 姓名刘龙飞 指导教师李远辉 2014年9 月12 日

湖南工程学院 课程设计任务书 课程名称网络程序设计 课题网络注册登录器 专业班级网络工程1102 学生姓名刘龙飞 学号01 指导老师李远辉 审批 任务书下达日期2014 年9 月1 日 任务完成日期2014 年9 月12 日

一、课程设计概述 1.1 课程设计题目 一个基于Android平台的网络程序实现注册,登录 1.2 课程设计要求 (1)能正确连接外部网络 (2) 能实现注册 (3) 能实现正确登录 (4) 能够在手机上使用该系统 二、硬件平台搭建 2.1 JDK安装 JDK是Java语言的原创者推出的原始开发环境。采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系,有利于理解Java面向对象的设计思想。在Windows上安装JDK非常简单,访问Oracle官方网站下载页面,网址为https://www.360docs.net/doc/f71154509.html,/technetwork/indexes/downloads/index.html,也可从其他网站下载。下载完成后,双击运行JDK安装程序并根据提示设定环境变量。 2.2 Android SDK安装以及系统设置 下载好SDK包后,将zip文件解压缩至合适的地方。在下文中,默认SDK安装目录为$SDK_ROOT 。 ●Linux下,打开文件~/.bash_profile或者~/.bashrc,找到设定PATH环境变量 的一行,将$SDK_ROOT/tools的完整路径加入其中。如果没有找到设定PATH变量的行,可以自己添加一行: export PATH=${PATH}:<$SDK_ROOT/tools的完全路径> ●Mac下,在home目录中找到文件.bash_profile,和Linux的一样处理。如果 还没有在机器上设定这个文件,可以创建一个.bash_profile文件。 ●Windows下,右键点击【我的电脑】,选择【属性】,在【高级】页中,点击 【环境变量】按键,在弹出的对话框中双击“系统变量”中的变量“Path”,将$SDK/tools的完全路径加入其中。 通过将$SDK/tools加入系统路径,在运行adb和其它一些命令行工具时就不需要键入完全路径名了。需要注意到是,当升级了SDK后,如果安装路径有变动的话,不要忘记了更新PATH变量的设置,将其指向变动后的路径。 配置SDK有两种方法:第一种,通过SDK下载器自动下载和配置。适合网络好,下载速度快的情况;第二种,借助工具下载SDK文件,手工配置。适合网络不是很好,下载速度慢的情况下。 2.3Eclipse安装以及ADT工具的安装 下载Eclipse安装包后,无需安装,只需解压缩,点击“eclipse.exe”文件即可运行。 Android为Eclipse定制了一个插件,即Android Develpoment Tools(ADT),目的是为用户提供一个强大的综合环境用于开发Android应用程序。ADT扩展了

视频播放器设计分析

视频播放器设计 1 需求分析 由于计算机的普及,极大地改变了人们的生活。随之带来了开发各种软件的需求。家用型计算机主要用于家用软件、学习软件、游戏软件和多媒体和多媒体软件,以及播放CD、VCD、DVD、MP3等多媒体信息。然而多媒体播放器的开发仍然不能满 足人们的需求,多媒体文件格式多样,但却没有一款播放器能够满足所有格式的解码。人们渴望解码能力更强大,功能更完备的多媒体播放器。 “多媒体”是一种新型的信息处理与传播技术。有人认为它是信息及其传输媒介方面的一场根本革命。人们对新技术的渴望和欢迎、新奇感和占有欲、宣传热情 和赞美态度,是发自内心的。特别是计算机多媒体技术的功能,令人大开眼界,惊 叹不已。它在商业、信息检索、文化娱乐和教育等方面的应用效果明显,前景广阔。 由多媒体播放器的开发现状看来,并没有哪一款播放器能适应所有多媒体文件 的解读,随着视频、音频的迅猛发展,媒体文件的格式层出不穷,由过往美国在线(AOL)公司的Nullsoft部门开发的Winamp独占鳌头,到Real Networks公司的Real Player和微软公司的Windows M edia Player风靡全球,再到如今播放器开发的百花 齐放的竞争时代,多媒体播放器的开发经历了许多风浪和变化,但是,仍然没有出 现全能的播放器,始终没有跨越编码格式的局限,随着多媒体技术的不断发展,人 们对多媒体软件的要求也不断高涨,所以对多媒体软件的开发也成为当今计算机开 发的重要课题。目前的音频、视频格式繁多,研制格式覆盖面广的多媒体播放器前 景非常广泛。 随着计算机、家电、通信等技术的不断发展,多媒体技术有着广泛的开发前景,尤其是多媒体播放器的开发,开发格式覆盖面更广,兼容性更好,功能更完备的播 放器势在必行。本文主要采用C++ Builder2009作为开发工具,设计并实现一个多 媒体播放器。可播放MP3,AVI,WMV,WMA,RM,RMVB,SWF等多种格式的多媒体文件,并且能够控制播放,暂停,停止,快进,后退,音量控制的调节,选择上一曲,选择下一曲,图像的显示,文件的计时,列表文件的添减操作等多种播放控制功能,界面简明,操作简单。 2 系统总体设计 2.1DirectShow概述 DirectShow是一种通过自定义或内置的大量的Filter(过滤器)来处理多媒体 数据的体系结构。这些Filter大致分三类:Source Filter(源过滤器)、Transform Filter(转换过滤器)、Render Filter(呈现过滤器)。源过滤器主要负责获取数据,数据源可以是文件、网络、计算机采集卡或数字摄像机里的,然后数据向下传输到Transform Filter,它主要负责数据的格式转换,然后继续向下传输到Render Filter,它主要负责数据的最终去向,将数据送给显卡声卡进行播放或输出变成文 件存储起来,见图2-1。

基于Android的多功能视频播放器的系统设计

文档编号: 基于Android的多功能视频播放器 系统设计说明书

目录 1引言 (3) 1.1目的 (3) 1.2适用范围 (3) 2系统架构 (4) 2.1硬件架构 (4) 2.2软件架构 (9) 3完整功能结构图 (11) 4系统数据库设计 (11) 4.1 E-R图设计 (11) 4.2字段设计 (11) 4.2.1本地视频文件记录表 (11) 4.2.2历史播放文件表 (12) 4.2.3 收藏文件表 (12) 5视频播放器部署图 (13) 6 系统需求 (13) 6.1系统界面需求 (13) 6.2系统性能需求 (13) 6.1系统开发环境需求 (14) 7视频播放器流程图 (14)

1引言 1.1目的 本文档是多通道同步数字记录仪升级换代项目的系统设计文档。从系统的高层角度对系统的硬件架构、软件架构、网络架构、系统部署、系统运行方式进行设计,为下一步各个模块的详细设计提供系统级的视图。 1.2适用范围 本文用于描述多通道同步数字记录仪升级换代项目的系统设计,给出系统的主要架构与配置项,对相关运行、数据、用户接口、容错与复用和重要模块进行分析,作为项目后续详细设计与开发实现的依据。本说明书的阅读对象为:跟我们同龄的有一定基础的大学生,以及相关的项目开发人员等等。 3

2系统架构 2.1硬件架构 2.1.1 JDK安装 JDK是Java语言的原创者推出的原始开发环境。采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系,有利于理解Java面向对象的设计思想。在Windows上安装JDK非常简单,访问Oracle官方网站下载页面,网址为https://www.360docs.net/doc/f71154509.html,/technetwork/indexes/downloads/index.html,也可从其他网站下载。下载完成后,双击运行JDK安装程序并根据提示设定环境变量。 2.1.2 Android SDK安装以及系统设置 下载好SDK包后,将zip文件解压缩至合适的地方。在下文中,默认SDK安装目录为$SDK_ROOT 。 Linux下,打开文件~/.bash_profile或者~/.bashrc,找到设定PATH环境变量的一行,将$SDK_ROOT/tools的完整路径加入其中。如果没有找到设定PATH变量的行,可以自己添加一行:export 4

实用视频播放器的设计与实现Delphi.

实用视频播放器的设计与实现Delphi 实用视频播放器的设计与实现目录前言11 绪论21.1 数字视 频技术的国内外发展现状21.2 多媒体技术应用的基本现状21.3 研究本课 题的背景和目的31.3.1 本课题提出的背景31.3.2 本课题的研究目 的31.4 课题的内容和任务32 开发环境的介绍42.1 Delphi简 介42.1.1 Delphi的基本形式42.1.2 Delphi特点42.2 Directx 简 介52.2.1 部件对象模型(COM)52.2.2 DirectX和部件对象模型 COM 62.3 Directshow 组件技术概述72.3.1 Directshow 的结构框架 图72.3.2 Filter和Filter Graph 82.3.3 过滤器图表管理器(Filter Graph Manager)102.3.4 引脚(pin)103 视频播放器基础知识123.1 视频123.1.1 几种常见的视频格式简介123.2 视频播放器133.2.1 媒体 播放器的类型划分133.2.2 几种常见的视频播放器软件143.2.3 多媒体播 放器的作用143.3 常见的播放器软件的播放原理153.3.1 视频流播放技术 理论153.3.2 视频解编码标准163.3.3 视频编解码原理174 视频播放器 的总体设计194.1 系统开发平台194.2 系统总体设计思路194.3 系统总 体方案分析214.3.1 研究目标214.3.2 本播放器系统的特点214.3.3 播 放器系统的总体方案图214.4 系统总体功能分析245 播放器的详细设计与 实现285.1 详细设计的目标285.2 各模块功能实现285.2.1 主体模块实 现285.2.2 视频播放模块实现355.2.3 音频播放模块405.2.4 CD播放模 块445.3 软件测试47结束语49参考文献50致 谢51 摘要:目前常见的多媒体播放软件应该说各有特色,但是几乎每1个都存在着不如人意的地方。本播放器软件是基于DirectX 集成开发环境中的DirectShow组件技术。具体内容提要如下:首先,本文简 要介绍多媒体与多媒体技术的相关知识,并对多媒体与多媒体技术的发展现状 与发展前景做简要阐述,然后对视频播放器的种类及其在多媒体技术中所起的 作用做简要介绍。其次,本文着重论述了视频播放器的实现过程,主要包括以 下几个方面:开发本软件所使用的开发平台与相关技术;待开发系统的系统流 程图、组织结构图和数据流程图及其分析;系统功能分析及各功能模块功能实 现方案;然后再列出本系统关键功能模块的代码实现方案。最后,对本系统的 开发过程做简要总结,介绍1下本人开发本系统的体会和感想。关键词:视频;播放器;Delphi;Directshow; DirectX Design and Implement of Video Player Abstract:Each of the current multi-media broadcasts software has its different features,but each has some bugs.he software is to base on the DirecShow compenent technology of DirectX .Its concrete contents is as follows: First, this text tells multi-media and technical related knowledge in multi-media,and do with development foreground with technical development in multi-media present condition to the multi-media the synopsis expatiate,then broadcasting the machine to video that see the category and its in multi-media technique a function for rising does the synopsis introduction.Second, this text emphasizes in realizes process of video player. include few aspects as following:the terrace of development and the related technique in Developing this software ;the system flow chart that

多媒体播放器的设计毕业设计

毕业设计 多媒体播放器的设计 摘要本文主要是开发了一款简单的多媒体播放器。可以播放多种格式的音频、视频文件,该播放器实现了的基本功能包括:音频视频文件的打开、添加到菜单、媒体的播放、音量大小的调节、播放时间的拖动、暂停播放、停止以及歌曲信息的查询与添加等。使之成为一款简易的媒体播放设备,能够完美的播放市面上大多数的音频、视频文件。在毕业设计中,系统开发平台为Windows XP操作系统,程序设计环境采用Visual C++ 6.0。在程序设计中,利用了微软公司开发的ActiveX 控件——可视动画控件ActiveMovie,程序通过调试运行,初步实现了设计目标,本程序是基于MFC集成开发环境,利用ActiveMovie控件实现媒体播放的功能的,除了基本的播放控制外,还具有多文件自动顺序循环播放、全屏播放、静音等实用功能。 关键字:多媒体;播放器;Active控件

目录 第一章绪论 (1) 1.1 引言 (1) 1.2 系统设计的目的和意义 (1) 1.3 研究背景 (2) 1.4 论文主要研究内容及论文结构安排 (7) 第二章开发平台介绍和软件的初步设计 (8) 2.1开发平台的介绍 (8) 2.2 软件的需求分析和模块设计 (10) 2.2.1软件的需求分析 (10) 2.2.2软件的模块设计 (11) 第三章数据模型分析与设计 (12) 3.1 数据需求分析 (12) 3.2 数据库概念结构设计 (12) 3.3 数据库的逻辑结构设计 (14) 3.4 数据库结构的实现 (14) 第四章多媒体播放器软件设计 (15) 4.1 模块实现函数说明 (15) 4.2 主要变量声明 (16) 4.3 设计多媒体播放器的界面 (17) 4.4 播放器模块设计 (18) 4.5 功能模块设计 (19) 4.6 歌曲信息模块的设计 (22) 第五章程序实现结果 (27) 5.1 程序运行流程图 (27) 5.2 播放器实现结果演示 (27) 第六章总结与展望 (33) 参考文献 (34) 致谢.................................................................................................................................... 错误!未定义书签。

基于android平台的视频播放器设计文献综述

四川理工学院毕业设计 文献综述 基于android平台的视频播放器设计 学生:徐东 学号:12021040122 专业:电气工程及其自动化 班级:2012.卓越 指导教师:曾晓辉、刘兴忠 四川理工学院自动化与电子信息学院 二O一六年三月

徐东:基于android平台的视频播放器设计 目录 第1章前言 (1) 1.1设计的目的及意义 (1) 1.2国内外发展现状 (1) 1.3 视频播放器概述 (2) 第2章综述 (4) 2.1、Android基本知识 (4) 2.1.1 android多媒体系统介绍: (4) 2.1.2 android平台 (4) 2.1.3 Android的四大组件 (5) 2.1.4 开发工具Eclipse (6) 2.1.5 开发语言Java (6) 2.2 播放器结构 (7) 2.2.1 文件列表界面 (7) 2.2.2 控制菜单 (7) 2.2.3 Toast模块 (8) 2.2.4 小结 (8) 第3章总结 (9) 参考文献 (10)

四川理工学院毕业设计文献综述 第1章前言 1.1设计的目的及意义 随着当今科学技术的发展,各种各样的应用被安装到移动电话上,比如视频电话,VOD视频,移动上网冲浪,在线阅读和资料共享等。为了实现这些应用,移动电话的功能变得更聪明且智能,这也表明了移动互联网到了新时代。新时代的到来,需要一个强大的开发平台来支持,因此,智能手机操作系统技术和研究已成为最活跃的领域之一。 由于现在Android的开放性,现在的Android系统已经应用于手机和平板电脑上,许多的商家已经将Android移植到高清播放机和智能电视设备上,通过这样消费者会有更多的机会使用已电视作为屏幕的Android系统,这样就把视频播放器显得更为重要了, 本课题研究设计了一个基于Android系统的视频播放器,以APK的形式安装在Android手机和平板中,本应用从系统的数据库读取视频信息,显示视频列表,有相应的播放界面,查看视频信息的功能,视频比例的切换,相应的控制菜单,实现视频的删除功能和上一集下一集,以及手势控制播放界面的亮度和声音大小,应用操作简单功能全面,并且可以播放几乎是有的视频格式,让用户有良好舒适的体验。 Android上面的视频播放器很多公司和个人都在开发,并且其中的一些播放器如moboplayer、RockPlayer、realPlayer、VPlayer等受到消费者的青睐,但是目前大多数播放器功能多样繁复,占用内存大,嵌入过多的广告使用户没有良好的用户体验,所以有必要开发出一款功能全面,操作简单,并且具有较强解码能力的视频播放器。 1.2国内外发展现状 Android是一种真正意义上的开放型的并且不依赖于设备的移动设备综合平台,他包括操作系统,中间件和应用的主要部分。伴随开放的架构和优秀的研发环境,使Android的手持设备得到充分利用,他能提供有吸引力的移动应用,并且没有任何以前的块移动的独家产业创新的障碍。Android有丰富的图形系统,

JAVA带面板的视频播放器制作课程设计

学号:201017010227 姓名:朱林 同组成员: 李伟 指导教师: 唐石

目录 第1章课程设计的目的和意义 (3) 1.1 设计目的 (3) 1.2 设计意义 (3) 第2章课程设计要求 (3) 第3章需求分析 (4) 第4章程序设计过程 (5) 4.1 实验原理 (5) 4.2 程序设计图 (6) 4.3 设计及核心代码 (7) 第5章系统测试 (15) 第6章心得体会 (19) 第7章参考文献 (20)

第1章课程设计的目的和意义 1.1 设计目的 1.训练掌握,加深理解并巩固《java语言程序设计》课程中所学到的基本概念、编程思路以及语法知识 2.综合运用java程序设计的编程方法,能够利用这些程序设计方法来解决工程和科研中常见的实际问题 3.培育分析问题解决问题的能力,进一步提高并巩固进行大型程序设计的能力 4.提高学生实践论文撰写能力 1.2 设计意义 java 是一种高级编程语言,是编程的基本工具,是为软件开发,网页制作等与计算机编程有关专业的基础课程!学好java语言程序设计对计算机专业的人来说必不可少的一件事,对大学生将来进入软件行业从事java软件开发有着不可替代的作用,为大学生提供了一种锻炼自我勇于实践的能力,也提高大学生的动手能力,所以课程设计是相当的重要。 第2章课程设计要求 《Java程序设计》是计算机网络工程专业一门重要的专业必修课。为了进一步巩固课堂上所学到的知识,深刻把握Java技术的重要概念及其面向对象的特性,锻炼学生熟练的应用面向对象的思想和设计方法解决实际问题的能力,开设Java程序设计的课程设计。 课程设计的任务是完成课程设计内容,写出课程设计报告。 要求学生掌握: 1.掌握Java的语言规范,面向对象的核心概念和特性; 2.掌握Java的编程技术,包括异常处理,图形界面设计,多线程,网络通

基于iOS平台的视频播放器的设计与实现

目录 1概论 (1) 1.1课题研发的背景 (1) 1.2课题研究的目的和意义 (1) 1.3课题预期的目标 (1) 2相关技术的介绍 (2) 2.1软件环境 (2) 2.2核心技术介绍 (2) 2.2.1内存管理机制 (2) 2.2.2oc语言 (3) 3需求分析 (4) 3.1软件功能需求分析 (4) 3.1.1视频信息搜索 (4) 3.1.2视频信息展示 (4) 3.1.3视频信息播放 (5) 3.2软件可行性分析 (5) 4系统设计 (6) 4.1对象模型 (6) 4.2MVC模式 (7) 5系统实现 (9)

5.1开发所用的关键类 (9) 5.2应用程序编码实现 (12) 5.2.1应用程序工作流程 (12) 5.2.2应用程序管理类 (13) 5.2.3应用程序工具类 (14) 5.2.4应用程序功能实现 (15) 5.2.5应用程序界面实现 (16) 5.3应用程序模块实现 (18) 6系统测试 (23) 致谢 (24) 参考文献 (24)

摘要 [摘要]现在,我们已经越来越进入一个信息技术,科学技术都日益发达的时代,在日常生活中,各式各样的视频播放器应用越来越普及,因此开发一款简单方便的视频播放器是非常迎合用户需求的。本课题就是利用互联网技术的传播广泛性来设计实现的一款手机客户端的视频播放器应用。本课题是基于iOS平台下Objective-C开发语言以及C语言来实现,利用系统提供的类以及第三方类库实现数据加载、视频播放和数据处理,主要实现各类视频信息的展示与播放功能。课题所用的数据接口信息来自第三方供应商,数据来源稳定准确。通过测试,基本可以实现观看视频信息与搜索视频信息的功能,应用程序简单易操作,具有很好的用户体验度。 [关键词]手机客户端;iOS平台;视频播放器;

网络视频播放器App的设计与实现

网络视频播放器App的设计与实现 本科毕业设计

目录 目录_____________________________________________________________________________ 1 摘要_____________________________________________________________________________ 3 Abstract___________________________________________________________________________ 4 前言_____________________________________________________________________________ 1 第一章绪论_______________________________________________________________________ 2 1.1 课题研究背景与意义 _________________________________________________________ 2 1.2Android的发展及前景_______________________________________________________ 2 1.3 系统设计的目标及基本思路 ___________________________________________________ 1 1.4 本论文的结构和主要工作 _____________________________________________________ 1 第二章基础知识简介 ________________________________________________________________ 2 2.1 Android简介_______________________________________________________________ 2 2.2 Android开发平台及相关技术 _________________________________________________ 4 2.2.1 Android开发环境_____________________________________________________ 4 2.2.2 volley开源框架________________________________________________________ 5 2.2.3 Material Design介绍 __________________________________________________ 7 第三章系统分析及系统结构与设计与实现 ______________________________________________ 9 3.1 系统分析___________________________________________________________________ 9 3.1.1系统可行性分析________________________________________________________ 9

安卓课程设计 视频播放器

武汉工商学院 信息工程学院 项目名称:Android视频播放器学生姓名: 学号: 班级: 12通信本1班 指导教师: 2015年6月23日

目录 1 软件产品介绍 (1) 1.1 软件产品名称 (1) 1.2 软件总体功能 (1) 2 软件开发环境 (1) 2.1 Android平台 (1) 2.2 JDK安装 (1) 2.3 Android SDK安装以及系统设置 (3) 2.4 Eclipse安装以及ADT工具的安装 (3) 3 软件布局 (4) 3.1 视频界面 (4) 3.2 视频文件搜索功能 (5) 3.3 播放控制功能 (5) 3.4 其他功能 (6) 4 程序流程图 (7) 5 软件界面及程序主要代码 (8) 5.1 软件在虚拟机上调试及分析 (8) 5.2 软件在手机上的调试及分析 (8) 5.3 程序主要代码 (9) 6 设计总结及收获 (11) 参考文献 (12) 附录 (13)

1 软件产品介绍 1.1 软件产品名称 一个基于Android平台的视频播放器 1.2 软件总体功能 (1) 能够播放.avi, .mp4等文件 (2) 能处理简单的异常,例如文件不存在等 (3) 能正常启动,退出 (4) 能够在手机上使用该系统 2 软件开发环境 2.1 Android平台 1.谷歌与开放手机联盟合作开发了Android, 这个联盟由包括中国移动、摩托罗拉、高通、宏达和T-Mobile在内的30多家技术和无线应用的领军企业组成。 2.Android是一个真正意义上的开放性移动设备综合平台。通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,来建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统,这样应用之间的通用性和互联性将在最大程度上得到保持。 3.所有的Android应用之间是完全平等的。 4.所有的应用都运行在一个核心的引擎上面,这个核心引擎其实就是一个虚拟机,它提供了一系列用于应用和硬件资源间进行通讯的API。撇开这个核心引擎,Android的所有其他的东西都是“应用”。 5.Android打破了应用之间的界限,比如开发人员可以把Web上的数据与本地的联系人,日历,位置信息结合起来,为用户创造全新的用户体验。 2.2 JDK安装 Java技术包含了一个编程语言及一个平台。Java编程语言具有很多特性,如面向对象、跨平台、分布式、多线程、解释性等等。Java编程语言起源于Sun公司的一个叫“Green”的项目,目的是开发嵌入式家用电器的分布式系统,使电气更加智能化。1996年1月发布了JDK1.1版本,一门新语言自此走向世界。之后,1998年12月发布了1.2版本,2002年2月发布1.4版本,2004年10月发布1.5版本(5.0),2006年12月发布1.6(6.0)版本,这是目前的最新版本。Java1.2版本是一个重要的版本,基于该版本,Sun将Java技术分为J2SE、J2ME、J2EE,其中J2SE为创建和运行Java程序提供了最基本的环境,J2ME与J2EE 建立在J2SE的基础上,J2ME为嵌入式应用(如运行在手机里的Java程序)提供开发与运行环境,J2EE为分布式的企业应用提供开发与运行环境。 JDK是Java语言的原创者推出的原始开发环境。采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系,有利于理解Java面向对象的设计思想。在Windows上安装JDK非常简单,访问Oracle官方网站下载页面,网址为https://www.360docs.net/doc/f71154509.html,/technetwork/indexes/downloads/index.html,也可从其他网站下载。下载完成后,双击运行JDK安装程序并设定环境变量。点击电脑属性、高级,环境变量,结果如下:

相关文档
最新文档