一种提高播放器程序稳定性和扩展性的方法

文档序号:6339820阅读:261来源:国知局
专利名称:一种提高播放器程序稳定性和扩展性的方法
一种提高播放器程序稳定性和扩展性的方法技术领域
本发明属于计算机多媒体播放领域,涉及到一种可以提高播放器稳定性和扩展性 的方法。
背景技术
目前市场流行的播放器有很多,可以播放多种格式的音视频文件,包括avi、rmvb、 aSf、MP3、mpeg等,并且可以通过第三方插件兼容更多格式的音视频文件。但是这些播放器 都存在一个问题如果第三方公司提供的插件不能保证其稳定,如果插件程序崩溃或者死 锁将会导致播放器异常退出或者没有响应,这将严重影响用户的使用体验,不利于提升产 品口碑。本发明可以保证无论第三方组件是崩溃还是死锁,播放器都能顺利的播放和响应 用户操作。
另外,市面上很多播放器只是把音视频解码的部分设计成单独的程序模块,如果 要开发新播放器界面,需要重新开发播放控制等功能。采用本发明后,只需要重新开发用户 界面即可,核心的解码模块和播放控制模块不需要重新开发就可以被复用,播放器可以很 灵活的扩展成其他各种应用。发明内容
本发明针对采用不稳定的第三方组件而导致播放器异常的问题,提出了一种提高 播放器稳定性的办法。在大幅度提高了播放器的稳定性的同时,还能增加了播放器程序的 扩展性。
本发明的技术方案为
一种提高播放器程序稳定性和扩展性的方法,其步骤为
1)播放器设置一个以上具有解码播放功能的解码播放进程和一用户交互进程; 所述用户交互进程包括一响应用户操作请求的用户操作界面;
2)所述用户交互进程与一所述解码播放进程建立数据连接,并将其接收的操作请 求发送给该解码播放进程;
3)该解码播放进程根据操作请求解码相应的音视频文件并执行操作请求;
4)所述用户交互进程周期性地向该解码播放进程发送心跳数据,如果在设定时间 内未收到心跳数据的响应信息,则终止该解码播放进程、关闭数据连接,并启动另一所述解 码播放进程;
5)所述用户交互进程与新启动的该解码播放进程建立数据连接,继续执行操作请 求。
进一步的,建立所述数据连接的方法包括=SOCKET进程通信方法、或管道进程通 信方法、或共享内存进程通信方法。
进一步的,所述操作请求的内容包括播放的文件名、播放窗口、用户自定义参数。
进一步的,所述用户操作界面的操作命令包括播放、暂停、停止、消音、截图、快进、进度定位。
进一步的,所述解码播放进程首先解码并识别播放的文件是否可以播放,如果不 可以播放则返回错误信息给所述用户交互进程。
进一步的,所述解码播放进程响应所述用户交互进程的请求,返回播放进度、播放 时长、文件类型、编码格式信息给所述用户交互进程。
进一步的,所述文件类型包括音频或视频。
进一步的,所述用户交互进程周期性地向该解码播放进程发送心跳数据的心跳命 令为播放进度查询命令。
进一步的,所述用户操作界面为转码器界面、或hternet Explorer播放控件界 面、或打开文件时预览窗口界面。
本发明的主要技术内容如下
1)把解码播放模块和与用户交互的模块分别在两个进程中实现。解码播放进程在 本文档中命名为“Player进程”,与用户交互的进程在本文档中命名为“UI进程”,UI进程有 用户界面,负责响应用户的操作,Player进程负责解码播放,没有用户界面。
2)用户操作UI进程的界面,UI进程随之向Player进程发送各种命令数据以响应 用户的操作,Player进程响应UI进程的请求返回相应的数据。
3)在系统运行过程中,UI进程实时的检测Player进程是否崩溃或者没有响应,如 果检测到其没有响应和已经崩溃,则终止Player进程,再重新启动一个Player进程,继续 播放。
4)Player进程负责程序核心的解码播放功能,没有用户界面,只要遵循与Player 进程的通讯协议,UI进程可以灵活的扩展成各种其他形式,比如转码器、InternetExplorer 播放控件、打开文件时预览窗口等,提高播放器的扩展性。
本发明的有益效果是
以往播放器界面和解码播放模块同在一个进程,这样只要解码模块崩溃,播放界 面就会发生异常。采用本发明的方法后,无论解码播放组件稳定性如何都可以保证用户界 面的稳定,改善用户的体验。另外由于Player进程已经封装了解码播放的功能,只要遵循 与Player进程的通讯协议,用户界面可以灵活的扩展成其他形态,比如转码器、hternet Explorer播放控件、打开文件时预览窗口等,提高了 Player进程的复用率,扩展了播放器 的应用领域。


图1为本发明多媒体播放器结构示意图2为本发明方法流程图3为本发明多媒体播放器可扩展性示意图。
具体实施方式
结合附图,进一步阐述本发明的实施方案
本发明的结构示意图如图1所示,方法流程如图2所示,
1)把解码播放模块设计在Player进程里,UI进程只有用户界面,响应用户的操作,Player进程没有界面,负责解码播放。
2)播放器程序启动时只有UI进程。当用户要求播放文件的时候,UI进程启动 Player进程,并与UI进程建立数据连接。这里的数据连接可以采用SOCKET、管道、共享内 存等进程通讯机制。
3)UI进程根据用户的操作,把要播放的文件名、播放窗口以及用户自定义参数等 信息传递给Player进程。
4)Player进程根据播放文件名读取文件内容,并根据用户自定义参数最后传递信 息给UI进程,告诉UI进程,该文件是否可以播放。
5)UI进程向Player进程发送数据,询问播放时长、是音频还是视频、编码格式的 信息,Player进程返回给UI进程相关的数据。
6)UI进程发送数据给Player进程,控制其播放、暂停、停止、消音、截图、快进、进 度定位等动作,并不断的询问播放的进度。
7)在播放过程中UI进程不断的向Player进程发送心跳数据(这里也可以用查询 进度命令兼做心跳命令),如果心跳数据在一段时间内没有响应,则终止Player进程,关闭 数据连接,重新启动一个Player进程,建立数据连接,继续播放。
8) Player进程不做改动,只要保持与UI进程相互之间的通讯协议不变,UI进程可 以改造成其他各种形式,比如浏览器控件、转码器、打开文件时预览窗口等。
本发明多媒体播放器可扩展性强,扩展示意图如图3所示。
权利要求
1.一种提高播放器程序稳定性和扩展性的方法,其步骤为1)播放器设置一个以上具有解码播放功能的解码播放进程和一用户交互进程;所述 用户交互进程包括一响应用户操作请求的用户操作界面;2)所述用户交互进程与一所述解码播放进程建立数据连接,并将其接收的操作请求发 送给该解码播放进程;3)该解码播放进程根据操作请求解码相应的音视频文件并执行操作请求;4)所述用户交互进程周期性地向该解码播放进程发送心跳数据,如果在设定时间内未 收到心跳数据的响应信息,则终止该解码播放进程、关闭数据连接,并启动另一所述解码播 放进程;5)所述用户交互进程与新启动的该解码播放进程建立数据连接,继续执行操作请求。
2.如权利要求1所述的方法,其特征在于建立所述数据连接的方法包括=SOCKET进程 通信方法,或管道进程通信方法,或共享内存进程通信方法。
3.如权利要求1或2所述的方法,其特征在于所述操作请求的内容包括播放的文件 名、播放窗口、用户自定义参数。
4.如权利要求3所述的方法,其特征在于所述用户操作界面的操作命令包括播放、暂 停、停止、消音、截图、快进、进度定位。
5.如权利要求3所述的方法,其特征在于所述解码播放进程首先解码并识别播放的文 件是否可以播放,如果不可以播放则返回错误信息给所述用户交互进程。
6.如权利要求1所述的方法,其特征在于所述解码播放进程响应所述用户交互进程的 请求,返回播放进度、播放时长、文件类型、编码格式信息给所述用户交互进程。
7.如权利要求6所述的方法,其特征在于所述文件类型包括音频或视频。
8.如权利要求1所述的方法,其特征在于所述用户交互进程周期性地向该解码播放进 程发送心跳数据的心跳命令为播放进度查询命令。
9.如权利要求1所述的方法,其特征在于所述用户操作界面为转码器界面,或 hternetExplorer播放控件界面,或打开文件时预览窗口界面。
全文摘要
本发明公开了一种提高播放器程序稳定性和扩展性的方法,属于计算机多媒体播放领域。本方法为1)播放器设置一个以上具有解码播放功能的解码播放进程和一用户交互进程;2)用户交互进程与一解码播放进程建立数据连接,并将其接收的操作请求发送给该解码播放进程;3)该解码播放进程根据操作请求解码相应的音视频文件并执行操作请求;4)用户交互进程周期性向该解码播放进程发送心跳数据,如果在设定时间内未收到心跳数据的响应信息,则终止该解码播放进程并启动另一所述解码播放进程;5)用户交互进程与新启动的该解码播放进程建立数据连接,继续执行操作请求。本发明大大提高了用户界面的稳定、改善了用户体验,同时用户界面可扩展性强。
文档编号G06F9/48GK102033780SQ20101060470
公开日2011年4月27日 申请日期2010年12月23日 优先权日2010年12月23日
发明者糜波 申请人:北京锐安科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1