流媒体播放器

2024-12-23

流媒体播放器(共14篇)(共14篇)

1.流媒体播放器 篇一

用过IE5的朋友一定不会忘记其中附带的微软新版媒体播放器(WindowsMediaPlayer)吧,

这个程序也能播放MP3、Real、QuickTime等多种格式的文件,不失为一款较好的多媒体工具。

不过它也有一点美中不足:不能实现文件的列表播放。这对于用惯了WinAmp、Jet-Audio的朋友来说,实在是太不方便了。

前不久,笔者偶然发现,媒体播放器可以播放WinAmp的列表文件(*.m3u),

那么,能否在这上面动动脑筋呢?

经过几次尝试,笔者终于找到了让媒体播放器实现列表播放的方法。步骤如下:

A、启动记事本(或其它文本编辑软件),新建一个文件。然后在第一行顶格输入要播放文件的路径,输入完成后按回车键转到第二行,输入下一个文件。例如:

C:Abc1.mp3

C:Def2.rm

C:Def3.mid

B、将此文件保存为扩展名为m3u的文件。用媒体播放器打开这个文件,就可以实现列表播放了。

此方法简单易行,有兴趣的朋友不妨试一试。不过,这样的列表文件就别再用WinAmp打开了!

2.流媒体播放器 篇二

随着通信技术和计算机技术的迅猛发展, 3 G时代的到来, 使得人们对手持设备的应用有了更高的要求, 人们已不满足于简单的通话, 收发短信等基本功能, 而更多的是要求有多媒体应用, 能利用手机进行上网冲浪, 3 D游戏, 播放视频等。

二、系统的分析与设计

1. 目前存在的系统分析

随着通信技术和计算机技术的迅猛发展, 使得人们对手持设备的应用有了更高的要求, 人们已不满足于简单的通话, 收发短信等基本功能, 而更多的是要求有多媒体应用, 能利用手机进行上网冲浪, 3 D游戏, 播放视频等。移动设备通过网络观看视频将是不可避免的问题。而且目前的城市的网络覆盖率比较的好。

在这种情况下, 多媒体播放器在设计与实现在有一些问题:

(1) 由于多媒体手机在硬件性能上与P C机有着显著的差异, 所以在多媒体手机上播放的视频短片的比特率要远远低于P C机上的, 所以在设计多媒体手机时要受到多媒体手机硬件与操作系统的影响。

(2) 现在多媒体手机外接的存储卡容量不是很高, 当你在旅行的过程中或者在移动的过程中, 因为你的存储卡的容量有限, 所以你只能看少量的视音文件。

(3) 现在多媒体手机在播放视音频文件的过程中, 如果你看到自已喜欢的图片, 你就想要保存下来, 作为永久的珍藏。

(4) 如何设计一项全新多媒体播放器, 为将来的多媒体移动服务打下坚实的基础。

2. 对目前系统的改进

本项目是一个关于手机播放器的系统, 通过移动终端手机能够实现在任何时间, 地点进行多媒体音频与视频的播放, 本项目在空间上延伸了基于internet的网络服务, 在时间上更具有灵活性。本系统只能播放视频文件的格式为M P E G格式与音频文件的格式为W A V格式, 这是因为由底层的开发包所决定的。

本项目具有以下几个功能模块:

(1) 首先视频 (主要是MPEG格式) 的播放模块, 播放形式主要采用两种形式:本地播放与网络播放。本地播放也就是所谓的视频文件在本地手机存储器里, 直接进行播放, 网络播放主要是视频文件放在网络服务器, 手机进行调用播放。它在空间上延伸了internet网络服务, 在时间上更具有灵活性。

(2) 其次实现音频 (主要是W A V格式) 的播放模块, 播放形式主要采用两种形式:本地播放与网络播放。运行方式与视频播放模块相似。

(3) 再次抓图模块, 在进行播放本地与网络视频时, 当你认为哪一个视频的瞬间你很鼓欢, 你就可以进行抓图, 把它抓下来。

(4) 最后是控制模块, 在进行播放音频与视频的同时, 有一些基本的控制功能, 比如:播放, 停止, 暂停, 增加音量, 减小音量等。

1>以下是本地播放视频或音频文件流程图

以上图的说明:这是一个本地播放视频或音频文件的流程图, 首先生成一个等待Wait Canvas的对象, 之后生成一个等待界面, 然后生成一个Video Canvas对象, 它主要是用来进行播放文件控制的, 用Video Canvas生成的对象来打开用户在刚开始的界面上所输入URL, URL里包括IP地址, 端口号 (8080) 以及被访问的文件名。如果打开成功都进行播放, 如果失败者结束程序。最终关闭MIDlet程序。

2>以下是网格播放视频或音频文件流程图

以上图的说明:这是一个网络播放视频或音频文件的流程图, 首先生成一个等待Wait Canvas的对象, 之后生成一个等待界面, 然后生成一个Video Canvas对象, 它主要是用来进行播放文件控制的, 用Video Canvas生成的对象来打开用户在刚开始的界面上所输入U R L, URL里包括IP地址, 端口号 (8080) 以及被访问的文件名。如果打开成功都进行播放, 如果失败者结束程序。最终关闭MIDlet程序。

三、客户端的实现

手机客户端MIDlet的设计是本课题研究的重点, 是实现本地与无线播放器应用的关键, 客户端MIDlet需要解决的关键问题有:MIDlet程序结构流程控制, 界面的开发;准确地提交用户请求参数问题等。根据系统需求分析, 本项目终端支持系统的客户端主要面向的活动者是有具有多媒体手机的用户。以多媒体手机的用户所应具有的功能进行介绍手机客户端MIDlet开发的过程和主要解决的问题。

1. 客户端流程设计

主要的流程说明:首先启动MIDlet, 进行输入所要访问的服务器的IP和所要播放的文件的全称, 如果输入错误, 都重新输入, 如果输入正确者, 进行下面的一个操作, 机器根据你所输入的IP地址来判断是本地播放, 还是要进行网络的播放, 当你如果输入的是本地IP, 那么手机只播放你在手机存储介质里面的视频或音频文件。如果你输入的是网络IP, 那么手机会播放在服务器中的视频或音频文件。在进行播放视频与音频的过程中, 可以对被操作对象进行一系列的操作, 比如抓图等。

2. MIDLET主程序的设计

一个MIDP应用程序的基本执行单元——MIDlet, 所以Control Video继承MIDlet了, 并有以下几个方法:start App () , pause App () , destroy App () , command Action () 还有一个线程Play Image, 这个程序它所要实现在的主要功能是, 形成一个输入的界面, 在这个界面里面要实现让用户输入URL, URL里面包含访问计算机的IP, 端口号及所要访问的播放文件全称。还有在界面上还形成几个按钮比如开始, 退出这是由command Action () 来进行控制等, 它还进行控制整个程序的运行, 选形成一个等待的界面, 然后根据用户所输入的信息进行打开U R L, 再进行播放文件的控制等等。

3. 播放控制的设计

它主要是由Video Canvas继承Canvas, 并有以下几个方法:Video Canvas () , initialize () , paint () , time2pix () , open () 等方法。它主要实现的功能是:对播放的视频或音频文件进行一系列的操作比如播放, 停止, 暂停, 增加音量, 减小音量。

4. 播放文件判断的设计

在这里主要是设计一个单独的类, 名称为Video Type, 它主要先从用户输入的U R L来分析出用户输入的信息, 从中分离出输入的I P地址, 端口号以及文件的名称, 再进行判别用户输入的文件的类型。它里面有以下几个方法:guess Content Type () , split URL () 。

5. 网络连接等待介面的设计

这是一个所设计的一个等待界面, 名称Wait Canvas, 它继承了Canvas类, 它主要的功能是:当用户输入IP地址时, 手机在连结服务器的时候, 可能会有一个过程, 所以这个时候出现一个等待界面。它里面有以下几个方法:Wait Canvas () , void set Message () , paint () 。

四、结束语

本文研究的重心在于利用流媒体技术使手机播放器中本地与网络 (无线) 终端MIDP应用开发技术的解决方法及资源的网络通信, 信息整合问题。因此在论文中深入研究了J2ME体系结构及其平台下手机程序MIDP的开发技术, 详细分析了本地终端与无线终端和资源的通信解决方法, 并构造了一个手机多媒体播放器系统, 通过该系统, 完整说明了MIDP应用程序开发的流程控制, 界面设置与流媒体和视频压缩技术。本系统还会不断的改进, 实现更广, 更新, 更实际的功能, 以适应时代的需求。

摘要:本课题的重点是讨论利用现在的J2ME, MPEG及相应的流媒体技术, 开发出移动设备终端的媒体播放器。

关键词:流媒体,J2ME,MPEG,RTP,RTCP

参考文献

[1]吴一丁:J2ME技术在移动设备上的应用.java研究组织, 2005

[2]黄宝雄:流媒体技术.中国多媒体视讯, 2005

[3]刘雄武:移动流媒体技术及其应用发展方向.CSDN, 2005.06

3.iOS极限多媒体播放器 篇三

RushPlayer

RushPlayer绝对是iOS上的影音播放神器。它提供清晰的画质,播放流畅度超过很多全能播放器。同时,RushPlayer还囊括了精选的国内外电台电视台资源,并且后台提供服务器支持,保证资源稳定、高清。RushPlayer支持WIFI传输、手势操作、画质调节等多种实用功能。RushPlayer可以流畅播放RMVB、WMV、AVI、MKV、MP4等格式的720p和1080p高清视频。

QVOD 快播

快播播放器(QVOD Player)是一款基于准视频点播(QVOD)内核的,集在线点播、在线直播为一体的媒体浏览器。快播运用自主研发的QVOD流媒体传输协议,实现了高清视频在互联网络的流畅播放。快播支持包括RMVB、MPEG、AVI、WMV等在内的几乎所有主流音视频格式,具有资源占用低、操作简捷、运行效率高、视频源丰富、扩展能力强等特点。在播放在线视频时,快播会把视频下载到本地保存。如不需要,看完之后可以手动删除。

AcePlayer

AcePlayer是一个可以播放任何格式视频、音频和相片的万能播放器,适用于iPhone/iPod/iPad。可以通过iTunes或者WiFi传输文件到播放器内,也可以通过内置的Open URL客户端从MMS、RTSP、HTTP、FTP、SMB、RTP等视频流服务器中打开影音文件,或者下载文件到本地。内置的UPnP客户端可以从几乎所有的UPnP/DLNA media server中直接播放或者下载文件。"Open In"功能可以从邮件附件或Safari浏览器中直接用AcePlayer播放视频。AcePlayer还做了内置的相片浏览器,可以浏览照片。需要注意的是,AcePlayer不能在iPhone 3G和一代、二代iPod上运行。

RockPlayer2

RockPlayer2是一款高画质,流畅播放各种媒体的播放器。它支持手势控制、srt外挂字幕、音轨选择、RockShare文件互传、AirPlay,更有独创的自定义面板,自由配置播放控制按键。RockShare功能可以让用户在同一个WIFI环境内的多台设备之间实现跨平台文件互传。内建媒体文件管理器,支持新建目录、移动、删除、重命名、添加至播放列表等操作,还可通过左上角“铅笔按钮”开启编辑。RockPlayer支持AirPlay,可以通过Apple TV将视频推送至大屏幕上播放。目前RockPlayer2已支持iOS6。

EC Player

4.右键菜单中也能播放多媒体文件? 篇四

图1 对影视文件选择打开方式

ABView 是一个把多种媒体文件格式合为一体的系统增强工具,功能强大而且易于使用,支持的文件类型包括:AVI、MOV、SWF、MPEG等多达22种常见的视频格式; MP3、WAV等16种音频格式;BMP、JPEG等10种图像格式以及指针图标库和调色板文件等,

图2 选项设置对话框

ABView安装后自动整合到右键菜单中,通常使用程序的默认设置即可,但如果需要对相关的选项进行自定义设置的话,可以先在一个图像或音频等ABView支持的文件上点击右键,在右键菜单中进入“ABView→选项”,就可以打开“选项”对话框(图2),在这里就可以对ABView所支持的各类文件进行具体的设置了,如视频文件的屏幕尺寸、回放速度、音频文件所显示的参数信息以及各种支持文件所显示的图标等等。程序具有多国语言支持,如要改变界面语言,进入“LANGUAGE”标签进行修改,重启系统后生效。

点击阅读更多学院相关文章>>

5.视频播放器设计分析 篇五

由于计算机的普及,极大地改变了人们的生活。随之带来了开发各种软件的需 求。家用型计算机主要用于家用软件、学习软件、游戏软件和多媒体和多媒体软件,以及播放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:///。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广泛应用于开发多媒体程序。

在该软件的制作实现过程中,给人最大的启发的一点是系统架构和设计模式非常重要。代码的组织都是非常重要的,因为这关系到日后的维护以及扩展。编写代码更加有条理,更加符合软件工程的标准,这才是最重要的。

刚接触视频播放器编程的时候,我们认为其中最重要的是解码算法。但是头几天编写程序的时候却发现程序越写越不容易维护,可见是我们走错了方向。后来我们向老师讨教,他告诉我们:“我们的先人早已为我们准备好了各种精良可用的现成算法,我们所要做的就是直接“拿来主义”罢了;但是对于代码的组织(也就是软件的架构)才是真正软件工业的核心部分,因为软件事实上是直接和经济挂钩的,因此我们必须在编写代码之前选择一种最为合适的方法来组织这些代码,否则我们将会失去更多的时间和金钱。”。

6.流媒体播放器 篇六

1.切换左右声道

傲视播放器是一个纯绿色软件,直接运行后可看到软件的窗口界面。

傲视播放器主界面

点击窗口上方的“打开”按钮,选择一个RM格式的双语电影,确定后即可开始播放影片。点击“音频设置”弹出“声音控制”对话框,在对话框中可调节音量大小;点击声道按钮,在下拉菜单中即可选择调节左右声道了,如图2所示,方便吧!

此外,点击播放窗口下方的“全屏”按钮,即可以全屏方式播放影片,要退出全屏方式直接按Esc键就可以了。点击播放条上的“固屏”按钮,可将播放器右边的播放列表框取消,并将播放器固定在桌面最上层显示,这样就可以一边工作一边看电影了。

2.兼职Flash播放和图片浏览

这个小巧的播放器所支持的播放格式很齐全,可播放常见的WMV、RM、MOV、RMVB、DAT、AVI、MPG等格式的视频文件。除了以上这些,它还可以充当Flash播放器和图片浏览器。

傲视播放器可以连续播放多个Flash文件,打开资源管理器并在其中选择多个SWF文件,将其直接拖拽到播放器右边播放列表中,就自动开始播放Flash动画了,

傲视播放器还可以播放各种格式的图片文件,如JPG、GIF格式文件等,这样我们可以将它充当一个简单的图片浏览器。将多个图片文件拖拽到播放列表中后,直接点击“播放”按钮,便可以幻灯片的形式进行播放了。

3.网络播放

傲视播放器还支持网络播放,并集成了部分网络电视台地址。点击右边播放列表框上的下拉按钮,在其中列出了多个国内或国外的网上电视台或电台,有常见的CCTV、Channel-[V]、凤凰卫视、星空卫视等,双击就可以开始收看电视了。当然也可以自己将网络电视台地址添加到列表中,点击播放控制条上的“网络”按钮,输入网络播放的地址就行了。笔者试着收看了一下各个电视台的节目,速度还不错,还可以收看到许多地方台呢。这下让笔者打消了买电视卡的念头。

4.制作播放文件列表

7.流媒体播放器 篇七

关键词:嵌入式,流媒体,ARM,客户端

0 引言

流媒体是一种将网络技术和流式传输技术结合起来的连续时基媒体。流媒体技术不同于传统媒体技术之处在于它能够直接从网络上得到平滑的数据流,而无需事先把数据下载到本地机器。就把从网络上获得这种平滑数据流的传输方式叫做流式传输[1]。流式媒体在播放前并不下载整个文件,只将开始部分内容存入内存,流式媒体的数据流随时传送随时播放,只是在开始时有几秒或十几秒的延迟。通过对Mplayer播放器的改进和移植构建了一种基于ARM处理器的新型流媒体播放器的客户端。这种播放器不但继承了Mplayer播放器本身的所有优点,而且能够通过网线与装有流媒体服务器的PC机相连,在ARM上进行流媒体播放,非常适合应用于嵌入式系统。

1 开发平台

1.1 ARM处理器

1.1.1 ARM处理器简介

1991 年11月 ARM 公司成立于英国剑桥的一个谷仓,公司主要出售芯片设计技术的授权。目前,采用 ARM技术知识产权(IP)核的微处理器,即通常所说的 ARM 微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于 ARM 技术的微处理器应用约占据了32位RISC微处理器75%以上的市场份额,ARM 技术正在逐步渗入到我们生活的方方面面。

1.1.2 ARM处理器特点

ARM芯片具有RISC体系的一般特点[2],如:

①具有大量的寄存器。

②绝大多数操作都在寄存器中进行,通过Load/Store的体系结构在内存和寄存器之间传递数据。

③寻址方式简单。

④采用固定长度的指令格式。

不但如此,ARM体系采用了一些特别的技术,在保证高性能的同时尽量减小芯片体积,减低芯片的功耗。这些技术包括:

⑤在同一数据处理指令中包含算术逻辑处理单元处理和移位处理。

⑥使用地址自动增加(减少)来优化程序中循环处理。

⑦Load/Store指令可以批量传输数据,从而提高数据传输的效率。

⑧所有指令都可以根据前面指令执行结果,决定是否执行,以提高指令执行的效率。

文中采用三星公司S3C2410 ARM开发板作为开发平台。

1.2 Linux嵌入式操作系统

Linux从1991年问世到现在,短短的十几年时间已经发展成为功能强大、设计完善的操作系统之一,不仅可以与各种传统的商业操作系统分庭抗礼,在新兴的嵌入式操作系统领域内也获得了飞速发展。嵌入式Linux是指对标准Linux经过小型化裁剪处理之后,能够固化在容量只有几百k或者几M字节的存储器芯片或者单片机中,适合于特定嵌入式应用场合的专用Linux操作系统。嵌入式Linux的开发和研究是操作系统领域中的一个热点,目前己经开发成功的嵌入式系统中,大约有一半使用的是Linux。Linux之所以能在嵌入式系统市场上取得如此辉煌的成果,与其自身的优良特性是分不开的[3]。

①广泛的硬件支持。

②内核高效稳定。

③开放源码,软件丰富。

④优秀的开发工具。

⑤完善的网络通信和文件管理机制。

本文选用适合嵌入式移植的Linux-2.4.18内核版本。

1.3 音频驱动

目前,大多数的嵌入式开发板都使用philips uda1341音频芯片,因而它们使用的音频驱动也是相同的,即为MIZI公司拥有版权的Linux uda1341音频驱动[4],这个驱动基本符合开放声音系统(oss)的规范。但是当使用到多段DMA音频数据传输时,出现了一个问题。即DMA缓冲的建立发生在第一次调用write()函数将音频数据传送到设备描述符的时候,然而oss驱动的调用者通常要在打开音频设备描述的时候,就期望获取DMA缓冲的信息,因为此时缓冲尚未建立,返回缓冲大小必然为0。解决的办法是修改音频驱动源码的drivers/sound/smdk2410_audio_open()函数体。

在Audio_clear_buf(&output_stream)这句后面加上如下一段代码:

最后重新编译内核,音频驱动成功。

2 RTP/RTSP功能实现

RTP(Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传输协议[5]。RTSP(Real-time Streaming Protocol)定义了一对多应用程序如何有效地通过lP网络传送多媒体数据。它使用TCP或RTP完成数据传输[6]。

2.1 Live555简介

为了实现Mplayer RTP/RTSP功能,则需要安装live555库。live555是以事件驱动为基础的网络多媒体串流处理函式库[7],live555主要包含以下几个基本类库:

(1)使用环境(usageEnvironment):UsageEnvironment和TaskScheduler类用在调度不同事件。还有HashTable类定义,这些都是抽象基类。在使用过程中可以利用环境的特定功能。

(2)groupsock:封装网络接口和socket。特别是还封装了multicast应用,这个multicast并不是Mbone意义的multicast,而是将多个写而不读的socket组合处理,用来模拟multicast。

(3)liveMedia:定义一个类栈,根类是Medium类。

(4)BasicUsageEnvironment:定义一个usageEnvironment的实现, 这个里面除了有一个TaskScheduler以外,都是一些说明性的东西。TaskSheduler里面是一些调度相关的函数,其中doEventLoop是主控函数,定义为纯虚函数。

(5)MediaSession:定义了一个mediaSubSession链表;MediaSubSession中又定义了SessionId,服务端口号,rtp/rtcp Channelld和MediaSink指针,等等一些参数信息。

2.2 Mplayer中Live555库的调用

从RTSP或者SIP中取到SDP描述,然后调用Live555中的mediaSession类创建Session。通过成员函数initializeWithSDP分析SDP描述。

OpenRTSP:

(1)创建TaskScheduler和UsageEnvironment实例。

(2)调用createClient创建media实例。

(3)在openRTSP.c中,main完成配置以后,开始如下循环:

在BasicTaskScheduler0类中,定义为while(1) SingleStep()。SingleStep的处理是通过select监听一组句柄,这组句柄通过iter组成的链表串接起来,对每个句柄有处理函数,如果有句柄上有数据,那么调用对应的处理函数。

2.3 编译Live555

3 Mplayer播放器的移植

3.1 编译前的准备

选择合适的交叉编译器是保证编译成功的前提,编译器版本过高或者过低都可能导致编译失败,本文选用arm-linux-gcc-3.3.2版本的编译器。Mplayer源码选用目前最新版本MPlayer-1.0pre8.tar.bz2。对源码进行解压缩之后,进入解压后的目录,例如:

(1)# cp MPlayer-1.0pre8.tar.bz2 /usr/src

(2)# cd /usr/src

(3)# tar jxvf MPlayer-1.0pre8.tar.bz2

(4)# cd MPlayer-1.0pre8

3.2 编译Mplayer

(1)配置文件

文件的配置是交叉编译Mplayer的关键所在,配置选项可以通过./configure--help来查询。配置代码如下:

./configure--host-cc=gcc --cc=arm-linux-gcc--target=arm-armv4l-linux --enable-static --enable-live --with-livelibdir=/usr/src/live --prefix=/tmp/mplayer --disable-win32 --disable-dvdread --enable-fbdev --disable-mencoder 2>&1 | tee logfile

在这里有几处配置参数需要特别说明:

①--host-cc=gcc:

这个参数必不可少,否则编译不通,原因是某些文件需要gcc来生成,而不是arm-linux-gcc。

②--target=arm-armv4l-linux :

其中,arm是指arch,此处根据处理器设定为arm ;armv4l是指具体的版本,确保和libavcodec目录下的平台目录名一致,否则这个平台的优化代码无法编译进去;第三部分是系统平台。

③2>&1 | tee logfile:

意思是将执行的情况在输出到屏幕的同时记录到logfile文件中,在控制台下编译比较有用。

④--enable-live:

加入live555库,--with-livelibdir等号右边就是live555所在目录。

(2)Make

一行行代码自下而上在屏幕间闪过,如果一切顺利的话,最终得到了可以在ARM中运行的可执行文件mplayer,把它下载到ARM开发板中,一套精巧而功能强大的流媒体客户端就建立起来了。在PC机上安装Darwin等流媒体服务器,开发板就可以通过网线播放PC机上的音视频文件了。

4 结束语

本客户端已经通过流煤体项目投入应用,用户反映良好。

参考文献

[1]徐鹏.嵌入式流媒体播放器的设计与实现[D].电子科技大学硕士学位论文,2008:4.

[2]杜春雷.ARM体系结构与编程[M].北京:清华大学出版社,2003.

[3]徐波涛.基于ARM的流媒体传输方法的研究[D].南京理工大学硕士学位论文,2007:18.

[4]史涛.嵌入式媒体实时点播系统的设计与RTSP的实现[D].华中科技大学硕士学位论文,2007:23.

[5]DOUGLASE.COMER and DAVID L.STEVENS.用TCP/IP进行网络互联[M].北京:电子工业出版社,2001.

[6]杨英杰.流媒体编程[J].计算机应用与软件,2007.

8.流媒体播放器 篇八

PMP是Portable Multimedia Player的英文缩写,意为便携式多媒体播放器,顾名思义,这个小东西体积虽小,功能可是十分的丰富。朝华PMP MV500整体外观为中规中举的银灰色,做工相当精细,体现了厂家的实力,其尺寸为116×78×23mm(长×宽×高),拿在手里的感觉与一个普通的PDA相似,重量约为225克,没有那种廉价播放器轻飘飘的感觉,但较长时间托在手中也不会觉得疲劳,因此无论是携带还是使用都十分轻便。

PMP MV500拥有高达26万色的3.5英寸TFT真彩显示屏,颇有画龙点睛的效果—毕竟一台便携式多媒体播放器的视频播放效果是非常重要的。在实际测试使用中,其播放效果也称得上优秀,色彩锐利丰富,影像清晰自然,但还是会出现类似于“丢帧”的现象,不过这应该与测试影片本身有较大的关系。在播放较长影片的时候,使用者可以将其放置于底座之上进行观看,省力且方便。

易用性方面,用户可以通过一个五向遥杆配合三个功能键,就可以完成全部操作,简洁而快速,只是需要一些时间来适应,不过对于用惯了带有遥杆的手机用户来说,应该能够很快熟悉。应用程序和菜单的响应速度也相当快速,没有太多延迟的感觉,整体性能相当不错。

值得一提的是,该产品还带有一个130万像素的摄像头,可以进行180度的旋转,使用起来十分方便,可以满足用户摄影、摄像的需求。标配的20GB硬盘能够为用户长时间摄像提供了保障,而且还可以存放大量的数码相片、MP3或是其它数据文件,亦可客串一个大容量的移动存储设备。

PMP MV500除了MP4标准的视频播放功能之外,同时将摄像机、照相机、录像机、电子相册、随身听、收音机、录音笔、移动硬盘这些功能一网打尽,几乎可称得上是消费类数码产品中的“全能选手”。当然,如此丰富的功能必然意味着高昂的价格,有经济实力的朋友不妨找机会一试。

朝华PMP MV500 便携式多媒体播放器

优点:性能强大,几乎可称得上是“全能选手”。

缺点:价格较高。

参考价:5800元

厂商:朝华数码科技有限责任公司

电话:800-810-5996

9.流媒体播放器 篇九

首先到“www.duote.com/soft/1446.html”网站,下载安装最新的Flash播放器,

安装好之后,现在我们再打开包含有链接的Flash文件,当播放到链接处播放器就会自动拦 问网络的行为,并且会弹出安全性窗口,告知用户被拦截的地址。天空软件站建议用户此时单击“确定”按钮确认拦截,也可以单击“设置”按钮对播放器的拦截功能进行相应的配置。在单击“设置”后打开的窗口左侧选择“全局安全性设置面板”,此时建议大家选中“始终拒绝”选项,这样播放器则会默认拦截所有访问网络的请求,并不会弹出窗口询问用户,从而省去了用户确认的麻烦。

10.流媒体播放器 篇十

头重脚轻

GraphEdit是一个可视化的DirectShow Fiter(插件)图表建立及检测工具,它包含在微软的DirectXSDK中(可以从网上下载分离出的汉化版本),对程序开发者来说,GraphEdit可帮助他们构建graph图表,测试开发的Directshow插件,不过,我们可以用GraphEdit做更多事情,下面就来看一个GraphEdit解决媒体播放故障的实例。

笔者手里有一段AVS格式的视频文件,这是一种国内开发的新型视频格式,通常只需要安装AVS Plaver1.6即可以在Windows系统下欣赏它了。但无论用WMP或者MPC播放都只能听到声音,没有任何图像,究竟是怎么回事呢?

导入媒体文件

用GraphEdit来测试或播放媒体文件,首先需要用GraphEdit构建一个过滤器图表,过滤器图表就如同媒体处理的流程图一样,通过分析流程图,我们就可以找出问题出在哪一个环节。图表可以用直接导入媒体文件的方式来自动构建,自动构建图表的前提是要在系统中安装了媒体文件有关的源过滤器、解码过滤器,由于已经安装了AVS Player 1.6,相关的过滤器都已经具备了,因此在GraphEdit中打开它是没有问题的。首先在GraphEdit窗口的工具栏中选择“打开”按钮,并导入AVS文件。文件导人成功后,我们可以看到该文件的处理流程(如图1)。点击“播放”按钮,会弹出ActiveMovie Windows窗口,但笔者只听到声音,在窗口看到的是漆黑一片。

经过分析图表,查看处理流程,笔者发现图表中所使用的分离器明显有问题,它使用的居然是Mpeg Splitter(如图1),这是个Mpeg分离器,肯定无法处理AVS视频,所以它一厢情愿地把视频解码工作交给了MPEG VideoDecoder,而MPEG视频解码器肯定无法解码AVS视频的,自然就看不到图像了。不过,由于还能听到声音,说明音频解码器部分是没有问题的。这样,通过直观的播放流程图,播放无图象的问题原因基本就清楚了,接下来我们同样是通过播放流程图,开始着手解决这个问题。

手动构建正确图表

要解决没有图像的问题,可以先在GraphEdit中手动构建一个正确的过滤器图表,以确定能否利用系统中现有的滤镜来解决问题。在构建正确图表前,需要将怀疑有问题的过滤器方框删除,这非常简单,只需要选定图表中的过滤器方框后,按Del键就行了(如图2)。

接下来选择“图像”菜单中的“插入滤镜”命令,打开过滤器选择对话框,在对话框中展开“DirectShowFilters”,评选择适合AVS文件的分离过滤器和视频解码过滤器。经过一番查找,笔者发现了一个名为AVS PSDEMUX的分离器,不用说,它就是AVS所使用的分离器,另外又找到了一个名为SFNode AVS Video Decoder的视频解码器,从名称上判断它应该就是AVS视频的解码过滤器。这两个过滤器都是在安装了AVS Player 1.6之后,自动添加到系统当中的。单击对话框中“插入滤镜”按钮,这两个过滤器方框便可以添加到图表窗口中了。

插入过滤器方框之后,还需要将它们连接起来,先从过滤器的“Output”端拖出一条连接线至AVS PSDEMUX分离器的“Input”端,然后将分离器的Video端和Audio端分别与视频解码器SFNode AVS VideoDecoder和音频解码器MPEG Audio Decoder的“XFormIn”连接,最后将视频解码器和音频解码器的“XFormOut”分别连接到“Video Renderer”和“DefaultwaveOut Device”(如图3),即视频表现过滤器和音频表现过滤器。图表构建完成后,再次点击“播放”按钮进行播放,图像和声音都正常了。

打造超长音乐DVD——Audio DVD Creator

一天一点爱恋

如果你酷爱音乐,那不妨用Audio DVD Creator制作一张可播放45小时的纯音乐DVD光盘,把你喜爱的歌曲一“盘”打尽吧!它从本机或CD光盘中导入任意歌曲,再统一转换成可供普通DVD机播放的格式,最后全部刻录到DVD光盘上,体验不间断不重复的音乐狂潮。

第一步:运行软件后,依次点击“新建方案/AudioDVD”按钮打开“设置”窗口(如图1)。在“方案名称”框中输入一个名字,如“最爱歌曲”。

第二步:音乐DVD光盘的播放总时长将根据音乐格式来决定。若采用“PCM(高品质)”格式,一张4.7GB容量的DVD光盘可以存储6小时的音乐文件。若采用“AC3(高容量)”格式,则可以存储45小时的音乐文件等。当然“AC3(高容量)”格式的音质会比“PCM(高品质)”格式差很多。

提示

“AC3(高容量)”的2.0ch和5.1ch分别表示音乐文件的2.0声道和5.1声道。如果你拥有Ac3格式的5.1声道音乐光盘或文件,则可以选择5 1ch,这样刻录出来的音乐DVD也将是5.1声道的。

第三步:将“电视制式”选为“PAL”(国内标准)后,点击“主题”栏的“自定义”按钮可以指定DVD菜单和曲目的背景图片。如果不希望显示DVD背景图片,只是播放音乐,则勾选“插入碟片时不显示菜单”选框。

第四步:点击“下一步”按钮进入添加歌曲窗口。如果你是从CD光盘中提取音乐,就点击“添加Audio CD”按钮,软件会从CD光盘中提取音乐文件列表,选中你喜欢的歌曲后,点击“添加到方案”按钮,软件会将CD音乐文件抓取并导入到“DVD曲目”列表中。点击“添加音乐文件”按钮则可以导入硬盘中的音乐文件。将音乐文件添加到“输入文件列表”后(支持导入MP3、WMA、WMV、ASF、RM、OGG、FLAC、和AC3等格式),在下方“创建DVD曲目”选框中根据不同选择,软件会自动进行分组。假如你希望为每个文件都指定一个播放背景图片,则选择“一个文件一个曲目”选项,点击“确定”按钮后软件会将这些歌曲都视为一个单独曲目,在“DVD曲目”列表中用右键单击每一个曲目名称,选择“指定曲目图像”选项即可为每首曲目都添加一个背景图片(如图2),在播放歌曲时即可自动更换这些背景,效果更丰富。添加文件时,“数据大小”栏里会即时显示已添加文件总容量,应注意查看。

第五步:点击“下一步”按钮进入“预览”窗口。在“菜单/曲目”框中可以选择曲目名称来查看播放菜单效果,点击“播放”按钮则播放当前曲目内的歌曲等。满意后,点击“下一步”按钮进入“创建”窗口,目前提供了两种保存方式。如果已安装了DVD刻录机并放人了DVD刻录盘,则选中“直接刻录Audio DVD”选框,点击“开始创建”按钮进行刻录。如果电脑中未安装刻录机,则可以选中“把DVD文件创建到硬盘”选框,指定保存路径后,点击“开始创建”按钮在硬盘中创建并保存DVD文件(如图3)。日后有条件时再直接把DVD文件刻录到DVD光盘中。

提示

刻录“PCM(高品质)”格式耗时30分钟左右。刻录“AC3(高容量)”格式根据添加的文件数量,执行文件转换压缩和刻录操作的时间会很长,大概在几个小时。

11.浅谈使用VB制作多媒体播放器 篇十一

Visual Basic 6.0提供了各种多媒体播放控件:Media Player控件、ShockwaveFlash控件和Animation控件等。这些控件可以播放常见的音频、视频等多媒体文件。这3种多媒体控件都属于ActiveX控件, 每次创建工程后, 要将其添加到工具箱中。在“工程”菜单中单击“部件…”菜单项, 则会打开“部件”对话框, 选择合适的多媒体控件对应的部件名, 即可将该多媒体控件添加到工具箱中。

3种多媒体控件所在的部件名如表1所示。

2、Media Player控件

Media Player控件可以播放WAV, MP3, WMA, DAT, MPG等多媒体文件。

2.1 Media Player控件常用的属性和方法

Media Player控件常用的属性有URL等, 常用的方法有openPlayer, Close等。

2.2 实例

【例1】利用Media Player控件制作自己的多媒体播放器, 可以播放音乐和VCD视频。

实现过程如下:

(1) 界面设计。

新建一个标准EXE工程, 添加一个Media Player控件, 把它的名称改为MediaPlayer1, 然后添加一个Common Dialog控件和三个命令按钮。界面如图1所示。

(2) 代码设计。

运行程序, 单击“打开”按钮打开一个多媒体文件, 就可播放该文件。

3、ShockwaveFlash控件

ShockwaveFlash控件可以播放SWF动画文件。

3.1 ShockwaveFlash控件常用的属性和方法

ShockwaveFlash控件常用的属性有Movie等, 常用的方法有Play, Stop, Forward, Back等。

3.2 实例

【例2】利用ShockwaveFlash控件制作可以播放Flash动画 (*.swf) 的播放器。

实现过程如下:

(1) 界面设计。

新建一个标准EXE工程, 添加一个ShockwaveFlash控件、一个Common Dialog控件和四个命令按钮。界面如图2所示。

(2) 代码设计。

运行程序, 单击“打开”按钮打开一个SWF动画文件, 就可播放该文件。单击“停止”按钮, 则停止播放该文件。单击“播放”按钮, 可从停止的地方继续播放该文件。

4、Animation控件

Animation控件可以播放无声的视频动画AVI文件。

4.1 Animation控件常用的属性和方法

Animation控件常用的属性有AutoPlay, BackStyle Center等, 常用的方法有Open, Play, Stop, Close等。

4.2 实例

【例3】利用Animation控件制作可以播放无声动画 (*.avi) 的播放器。

实现过程如下:

(1) 界面设计。

新建一个标准EXE工程, 添加一个Animation控件、一个Common Dialog控件和四个命令按钮。界面如图3所示。

(2) 代码设计。

运行程序, 单击“打开”按钮打开一个avi文件, 然后单击“播放”按钮, 就可播放该文件。

5、结束语

Media Player控件既可以播放WAV, MP3, WMA等音频文件, 也可以播放DAT, MPG, AVI等视频文件, 功能较强大, 使用很方便。ShockwaveFlash控件可以播放SWF动画文件。Animation控件可以播放无声的视频动画AVI文件。我们可以根据需要, 选择合适的控件播放多媒体文件。

参考文献

[1]张建辉.Visual Basic从初学到精通[M].北京:电子工业出版社, 2010.

[2]陈业斌.巧用VB的ActiveMovie控件制作视频播放器[J].电脑编程技巧与维护, 2001, 04.

12.流媒体播放器 篇十二

有朋友要求介绍flash场景音乐播放器的做法,我就根据自己的体会介绍一下。不当之处,请朋友们指正。

这是一个简单实用的flash场景音乐播放器,用以控制flash动画场景的播放,同时也就可以控制其中的音乐播放。所以,也可以作为flash音乐播放器来使用。我做的一些音乐收藏欣赏的flash就是使用的这种功能。

下面是一个例子。

一、先分别制作三个按钮元件备用。一个是播放按钮,一个是停止(暂停)按钮,一个是返回按钮。做成什么样子的都可以。上图中下方左面的三个按钮就分别是播放按钮、停止按钮和返回按钮。

二、下面开始制作滑动条的元件。元件类型都是影片剪辑。一个是滑动槽,即一个长条。这个比较简单,做成什么样子的都可以了。参考上图下方的滑动条。

三、另一个是滑块,即一个小长方块。这个看似简单,但却是这个播放器中的一个核心元件,滑动块能否按进度滑动,就看这里的制作了。这里也要分别制作两个影片剪辑元件。

一个是滑块图形的影片剪辑元件。一个是动作命令影片剪辑元件。

滑块图形的元件做相应的图形就可以了。如上图中的滑块图形。

而动作命令的剪辑就复杂一些了。这个影片剪辑(这里命名为“as”)的场景中不用放任何东西,但要在图层中添加as命令。

在第一个关键帧上,打开动作面板,添加如下语句: if(!_load){ _load = 1;tellTarget(“..”){

pathToControl = _root;

isDragging = false;

progressWidth = _parent.progressBar._width;

setProperty(_parent.progressBar, _width, 1);

null;

this._parent._x = 0;} } nextFrame();play();

在第三帧上添加空白关键帧,再打开动作面板,添加如下语句: tellTarget(“..”){ if(isDragging){

gotoAndStop(“pathToControl:”+Math.floor(pathToControl._totalframes/_parent.sliderTrack._width*this._parent._x));

setProperty(_parent.progressBar, _width, this._parent._x*(progressWidth/_parent.sliderTrack._width));

null;} else {

this._parent._x = _parent.sliderTrack._width/pathToControl._totalframes*pathToControl._currentframe;

setProperty(_parent.progressBar, _width, this._parent._x*0.999000);

null;} } gotoAndPlay(2);

从以上这些语句可以看出,它的内容就是根据动画运行到哪个帧来确定滑块的位置。并不是去控制音乐的,只是因为音乐在场景中,所以同时得到控制。具体地,我也是知其然而不知其所以然的。我就是复制代码,直接使用。如果你跟我一样,懂得不那么多,那也不妨就直接复制使用就是了。

四、组装滑动块。新建影片剪辑“滑动块”,在图层1中放入制作好的滑块影片剪辑元件,并在属性面板中将实例命名为slider。

新建图层,拖入影片剪辑“as”,就是只有as命令的那个影片剪辑。

这两个图层都只一个关键帧。

五、再组装滑动条。新建影片剪辑元件“滑动条”,在图层1放入前面制作的滑动槽元件。并在属性面板中将它的实例命名为sliderTrack。

在新建图层中放入“滑动块”元件,并在属性面板中将它的实例命名为sliderBar。两个图层也都是只有一个关键帧。

六、以上各个元件都做好了。就可以“总装”了。

回到场景中来,将前面做好的播放按钮、停止按钮、返回按钮、滑动条剪辑,拖放到适当的位置。然后给按钮元件添加相应的as命令。

点击播放按钮,打开动作面板,添加如下语句(即添加按钮动作): on(release){ play();}

点击停止按钮,打开动作面板,添加如下语句: on(release){ stop();}

点击返回按钮,打开动作面板,添加如下语句: on(release){ gotoAndStop(1);}

七、播放器总装完毕。但还有几个要做到的事情。一是将场景中的音乐的同步方式设置成为“数据流”。

二是新建AS层,分别在第一帧和动画的最后一帧建立关键帧,分别输入stop();语句。(老虎注:最后一帧建立关键帧,代码:gotoAndStop(1);)

三是将播放器所在的图层也延长到与整个动画和音乐的帧数相同。

这些工作全做完了,就按 ctrl+enter试试吧。点击播放按钮,开始播放动画和音乐;点停止按钮,停止播放;再点播放按钮,从刚才停止的位置继续播放;点返回按钮,滑块返回到起点,动画也返回到起点。

13.流媒体播放器 篇十三

我们每个人的生活都是丰富多彩的,不同的颜色能够给人们在不同时期以轻松新鲜的感觉,会让人心情舒畅充满激情。很多网友是否已经厌倦了您使用的网络电视一成不变的外观,是否已经对你的电脑软件产生了审美疲劳。乐鱼影音盒继续在产品与技术上保持不断创新与精益求精的精神,请专业设计人员为广大网民打造了一些列炫彩缤纷的软件皮肤。大家可以随时更换自己的乐鱼软件外观,随着自己的心情,使用不同色系的皮肤。相信大家一定会对这个功能爱不释手。

一、下载炫彩皮肤

安装上最新的乐鱼影音盒(最新版可到eNet下载 download.enet.com.cn/html/050432008112603.html)后,可以到乐鱼皮肤站去下载炫彩皮肤,乐鱼皮肤站网址为skin.leyubox.com/

进入网站后,在各个皮肤下点击下载,下载皮肤安装包后直接双击安装即可,每个皮肤都很小,只有两百多K,所以整个过程基本上三五秒钟即可搞定,

二、随心情随时切换

双击直接安装后,可以在乐鱼主界面的换肤面板看到所有下载安装的皮肤,这样您就可以随意为乐鱼换肤了。

右上角即为换肤面板,只要单击乐鱼右上角一些列图标按钮中的第二个图标按钮即可弹出换肤面板。笔者已经装上了乐鱼官方提供的所有皮肤,一共九款,可以随时切换任意一款皮肤。上图为快女江映蓉版的皮肤。点击黄英图标,即可换成蓝色黄英版的皮肤。

是不是都非常好看。当前共有九款皮肤,涵盖了各种不同的炫丽颜色,相信以后乐鱼还会源源不断的提供各种精美皮肤。

写到这里,各位乐鱼迷们是不是已经跃跃欲试啦,赶快来体验一下乐鱼带给您的炫彩感觉吧。

点击阅读更多学院相关文章>>

14.体育彩票多媒体播放系统刍议 篇十四

目前国内外对多媒体信息发布系统的研究还在不断深入中, 中国已站在世界的前沿, 特别是奥运会和世博会的召开, 许多信息发布都建立了相关多媒体系统, 但目前的技术体系还无法做到海量信息的实时处理和传播, 大多是预先存储或下载存储后多媒体播放。从彩票业来说, 实时开奖, 画面即时传播是必要的功能, 本文希望用组播技术及P2P的点对点文件传输协议来解决关键通讯瓶颈。

综合国内外研究, 多媒体信息发布系统采用的网络基础架构主要是以下3种:C/S架构 (Cient/Server) 、C/S+B/S架构、B/S架构 (Brower/Server) ;这些架构都有各自的优势和不足, 目前由于彩票店的复杂网络环境, 选择兼容性好、成本相对较低又能保证系统安全、可靠的架构是非常重要的。

1 目前运行体系结构

上图是浙江体育彩票网点应用的多媒体信息发布系统网络拓扑结构示意图, 采用C/S+B/S混合架构, 结构中主要有五个模块:最核心的是媒体发布以及BT服务模块, 它首先为EV08终端提供通讯服务、BT下载服务, 此外还为管理者提供素材、节目等相关管理服务。第二是开奖数据统计服务模块, 它用于日常开奖数据的统计, 数据的来源为提供高频数据的彩票机节点和提供普通开奖数据浙江体彩网节点, 本模块还向核心发布系统提供数据更新通知。第三是数据库模块, 采用SQL SERVER 2000x系统, 为各类数据提供数据库查询、调用服务。第四是浙江体彩网模块, 为多媒体信息发布系统与浙江体彩网站中的数据交互调用提供接口。第五是EV08媒体播放终端, 它采用LINUX操作系统, 有两个显示输出, 一个为销售网点的电视机提供视频输出, 另一个输出为显示器使用, 使媒体播放终端可以作为普通电脑使用。

现有系统往往要面临处理大文件下载传输的问题 (如视频节目) , 而目前对销售网点的来说网络带宽有限, 并且在大量播放终端存在的情况下, 服务器的带宽也极其稀缺, 除利用点对点技术作为解决这一问题的有效办法外, 组播技术的应用可以做到更灵活、更安全。

2 组播技术

2.1 IP组播的概念

IP组播是利用一种协议将IP数据包从一个源传送到多个目的地, 将信息的拷贝发送到一组地址, 到达所有想要接收它的接收者处。IP组播是将IP数据包“尽最大努力”传输到一个构成组播群组的主机集合, 群组的各个成员可以分布于各个独立的物理网络上。IP组播群组中成员的关系是动态的, 主机可以随时加入和退出群组, 群组的成员关系决定了主机是否接收送给该群组的组播数据包, 不是某群组的成员主机也能向该群组发送组播数据包。

2.2 IP组播技术的优势

信息显示系统网络通讯主要采用IP组播技术, 该技术的优点是:1) 需要相同数据流的体彩信息显示端加入相同的组共享一条数据流, 节省了主机的负载。2) 由于组播协议是根据接受者的需要对数据流进行复制转发, 所以总带宽不受接入端带宽的限制。3) 可分布式应用, 随着需求与应用的增长, 组播几乎没有客户数量增长的限制, 符合竞猜型体育彩票业务发展的需求。

2.3 IP组播技术的特点

2.3.1 群地址

在组播网中, 每个组播群组拥有惟一的组播地址, 组播数据包可以送到标识目的组机的组地址, 发送者不必知道有哪些组成员, 更不必知道组成员的位置和数量。

2.3.2 规模可扩展性

随着广域组播网络的规模扩大、网速提高, 适应组播路由算法和协议有PIM-DM、PIM-SM、CBT等。

2.3.3 健壮性

IP组播网络使用的路由协议和算法能适应网络路由动态变化, 它采用软件状态刷新机制, 制作路由备份等方法, 来维护群组成员之间的连接, 加强网络的健壮性。

2.3.4 路由算法的独立性

组播路由算法和协议独立于单播路由使用的协议, 但又依靠现存的单播路由表, 在域内适应网络拓扑的变化, 动态生成组播树。

2.4 组播生成树的灵活性

组播生成树的形成与发送者和接收者的分布、网络的流量状况以及组成员的动态性有关, 且组播生成树也反映了不同的组播路由算法和组播应用。灵活的组播生成树有利于数据包的传送, 不容易造成网络的拥塞。

3 相关协议标准讨论

根据体育彩票的业务需求, 发布系统的多媒体信息有很多类型, 数据量、重要性、即时性都有所区别, 我们把数据量相对小、内容十分重要, 需要马上播出的信息用组播传送, 如开奖公告、重要的文本或视频通知等;而数据量特别大、没有即时要求的信息用P2P (peer to peer) 协议传送, 如大型公益宣传片、比赛录像和娱乐节目等, 媒体播放器终端完成下载后, 根据节目单定时播出。下面对组播和P2P适用协议作简略探讨。

3.1 组播适用的路由协议

域内组播路由协议常用有:距离向量组播路由协议DVMRP、组播开放最短路径优先协议MOSPF、基于核心树的稀疏模式组播协议CBT、与协议无关的密集式组播协议PIM-DM、、与协议无关的稀疏式组播协议PIM-SM等。

下面用表格对各协议性能参数进行比较:

根据上述协议的比较, 我们使用了是PIM-SM协议, 它拥有独立于单播协议, 可双向转发, 组管理方便, 安全性相对较好, 流量不集中, 扩展性好等特点。当然它计算复杂, 在域内拓扑或组成员发生变化时, 刷新周期需要仔细考虑, 如果周期太长, 不能反映组播环境的变化, 而太短, 又会加重路由器处理控制消息的负载。

3.2 P2P应用

体育彩票媒体播放器每天播出90min的比赛录像, 还有约30 min的娱乐节目, 这些内容一般放在服务器端, 数据总量约500 M, 为了不影响白天带宽的应用, 客户端下载是从晚上12:00开始到第二天凌晨6:00之间进行, 用P2P实现非实时内容传送。

P2P自2001年从文件共享领域兴起, 到现在已成互联网主流应用, 但它协议标准化严重滞后, 虽然国际互联网工程任务组 (IETF) 对P2P部分的概念、术语和体系结构也作了定义, 可大部分体系还在讨论之中。目前微软、INTEL、SUN都加大了开发力度, 他们各有自己的优势和产品。

我们的媒体播放器系统应用了现在最成熟的产品:BitTorrent下载系统, 该系统在多人同时下载同一个文件时, 他们之间也互为对方提供文件的部分片段下载, 这样, 就把上载服务的开销分摊到每个下载者那里, 节约了带宽, 并支持无限下载者下载同一个文件。

BitTorrent下载系统简称BT, 它应用了两个协议:Tracker HTTP/HTTPS协议和Peer连接协议。

Tracker HTTP/HTTPS协议中的tracter实际上是一个HTTP的服务, 该协议维护下载文件的全局统计信息。

Peer连接协议是建立在TCP上的, 以.torrent文件里描述的排序的文件快为基础, 当某个Peer下载完某个文件块, 并验证其Hash值正确后, 该Peer就向与它连接着的其它Peer宣布, 它拥有该文件块。

由于目前彩票店网络环境千差万别, 媒体播放器终端都在网络地址转换后的设备之后, 因此NAT穿越, 十分重要。如果我们传输层用的是UDP协议, 那穿越技术用UDP Punch实现比较成熟。现在我们传输层用的是TCP协议, 我们将利用UPnP技术, 这是一套解决网络自动配置的协议, 它的功能涵盖了NAT穿越。其原理是利用UPnP规定的协议控制NAT设备, 使NAT设备上主动建立映射表, 从而使外部来的TCP SYN请求能够被送到相应的媒体播放器终端。

4 网络安全

从网络安全架构设计, 考虑因素包括以下若干环节:1) 网络边界安全保护, 在与体彩中心网络互连部分, 制定安全策略, 规范合法流量, 防范来自外围的可能的安全威胁;2) 网络设备自身安全调优, 通过关闭不必要的网络服务, 开启所需的关键服务, 调整系统默认参数等方面加强网络设备IOS自身的安全性;3) 网络数据平面的保护, 部署特殊安全特性, 着重防范攻击, 加固接入终端安全性, 通过即时升级操作系统、打补丁软件, 安装防病毒软件、主机入侵检测系统等, 提高接入终端抵御安全风险的能力;4) 网络管理平面的保护, 如何加强网管协议、设备访问维护等方面的安全性。

利用组播和P2P技术可以最大程度的节约带宽, 保证多媒体信息, 特别是大容量视频图像的传输和播放, 体育彩票多媒体信息发布系统在改进后的实际应用中已经得到了检验和论证。

摘要:笔者介绍体育彩票多媒体信息发布系统的体系结构, 简述了系统应用的组播和P2P技术, 并针对它们适用的协议作了探讨, 最后提出了与系统安全体系相关的四个环节。

关键词:网络,组播,P2P,安全

参考文献

[1]周贤伟.IP组播与安全.国防工业出版社, 2006 (1) .

[2]刘莹, 徐恪.Internet组播体系结构.科学出版社, 2008 (1) .

[3]刑小良.P2P技术及其应用.人民邮电出版社, 2008 (1) .

上一篇:郑州市畜牧局2011年度政府信息系统安全检查情况报告下一篇:关于开展学习公务员法工作情况