一种嵌入式终端的多媒体应用处理方法以及装置转让专利

申请号 : CN200810104608.3

文献号 : CN101266554B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 殷飞童晓演叶川

申请人 : 中兴通讯股份有限公司

摘要 :

本发明提供一种嵌入式终端的多媒体应用处理方法以及嵌入式终端,本发明的方法包括:接收一新的多媒体应用的启动请求信息;判断当前正在运行的多媒体应用列表中是否有与所述新的多媒体应用冲突的多媒体体应用;若有,则挂起与所述新的多媒体应用冲突的多媒体应用,将与所述新的多媒体应用冲突的多媒体应用添加到已被挂起的多媒体应用列表中;运行所述新的多媒体应用,并将所述新的多媒体应用添加到所述正在运行的多媒体应用列表中;所述新的多媒体应用运行结束时,按顺序恢复所述已被挂起的多媒体应用列表中的多媒体应用。消除了各个多媒体应用之间的耦合,使多媒体应用挂起和恢复自动化,减少开发工作量。

权利要求 :

1.一种嵌入式终端的多媒体应用处理方法,其特征在于,包括:接收一新的多媒体应用的启动请求信息;

判断当前正在运行的多媒体应用列表中是否有与所述新的多媒体应用资源冲突的多媒体应用;

若有,则挂起与所述新的多媒体应用资源冲突的多媒体应用,并保存当前被挂起的与所述新的多媒体应用资源冲突的多媒体应用的上下文信息,将与所述新的多媒体应用冲突的多媒体应用,添加到已被挂起的多媒体应用列表中;

运行所述新的多媒体应用,并将所述新的多媒体应用添加到所述当前正在运行的多媒体应用列表中;

所述新的多媒体应用运行结束后,按顺序恢复所述已被挂起的多媒体应用列表中的多媒体应用。

2.根据权利要求1所述的嵌入式终端的多媒体应用处理方法,其特征在于,按顺序恢复所述已被挂起的多媒体应用列表中的多媒体应用的步骤具体为:按先进后出的顺序恢复所述已被挂起的多媒体应用列表中的多媒体应用。

3.根据权利要求1所述的嵌入式终端的多媒体应用处理方法,其特征在于,所述多媒体应用列表为链表。

4.一种嵌入式终端的多媒体应用处理装置,其特征在于,包括:多媒体应用运行存储模块,用于存储当前正在运行的多媒体应用列表;

多媒体应用挂起存储模块,用于存储已被挂起的多媒体应用列表;

多媒体应用管理模块,用于接收一个新的多媒体应用的启动请求信息,判断当前正在运行的多媒体应用列表中是否有与所述新的多媒体应用资源冲突的多媒体应用;若有,则挂起与所述新的多媒体应用资源冲突的多媒体应用,将与所述新的多媒体应用冲突的多媒体应用,添加到已被挂起的多媒体应用列表中;运行所述新的多媒体应用,并将所述新的多媒体应用添加到所述当前正在运行的多媒体应用列表中;

上下文信息保存模块,用于在所述多媒体应用管理模块挂起与所述新的多媒体应用冲突的多媒体应用后,保存当前被挂起的与所述新的多媒体应用资源冲突的多媒体应用的上下文信息;

多媒体应用恢复模块,用于在所述新的多媒体应用运行结束后,按顺序恢复所述已被挂起的多媒体应用列表中的多媒体应用。

5.根据权利要求4所述的嵌入式终端的多媒体应用处理装置,其特征在于,所述多媒体应用运行存储模块为堆栈,所述多媒体应用挂起存储模块为堆栈;

所述多媒体应用恢复模块在所述新的多媒体应用运行结束后,按先进后出的顺序恢复所述已被挂起的多媒体应用列表中的多媒体应用。

说明书 :

技术领域

本发明涉及多媒体应用领域,特别是指一种嵌入式终端的多媒体应用处理方法以及装置。

背景技术

随着嵌入式技术的发展,多媒体应用已经被广泛地应用到了嵌入式终端中,常见的多媒体应用包括:音频,视频,照片,摄像等。与桌面计算机相比,嵌入式终端中的多媒体芯片处理能力有限,它往往只能同时处理某一项多媒体应用,比如同一时刻只能播放一段音频,视频和其他的音频不能同时播放。而在嵌入式终端的实际应用中,这种多媒体应用互相抢占资源的情况常常会发生。因此在多媒体资源的使用上需要一种简单有效的方法来处理这种资源互斥的情况。
通常采用的方法是:各个多媒体应用程序互相协商解决多媒体资源的使用问题,假设A应用和B应用都需要播放音频,当A应用正在播放时,B应用也去播放音频,那么这时B应用首先通知A应用关闭音频播放,A应用保存其上下文,关闭对多媒体资源的使用,然后B应用开始播放音频。在B应用播放完毕后,A应用如果想要恢复,可以由用户手动去恢复播放,也可以由B应用通知A应用恢复播放。
上述方法的缺点是:多媒体应用之间切换比较繁琐,加剧了多媒体应用之间的耦合,假设有多个多媒体应用都需要播放音频,那么这些多媒体应用两两之间都需要作类似的并发处理,严重时,可能会造成嵌入式终端死机。

发明内容

本发明要解决的技术问题是提供一种嵌入式终端的多媒体应用处理方法以及装置,解决多个多媒体应用之间相互协商使用资源时出现的耦合问题。
为解决上述技术问题,本发明提供一种嵌入式终端的多媒体应用处理方法,包括:
接收一新的多媒体应用的启动请求信息;
判断当前正在运行的多媒体应用列表中是否有与所述新的多媒体应用资源冲突的多媒体应用;
若有,则挂起与所述新的多媒体应用资源冲突的多媒体应用,并保存当前被挂起的与所述新的多媒体应用资源冲突的多媒体应用的上下文信息,将与所述新的多媒体应用冲突的多媒体应用,添加到已被挂起的多媒体应用列表中;
运行所述新的多媒体应用,并将所述新的多媒体应用添加到所述当前正在运行的多媒体应用列表中;
所述新的多媒体应用运行结束后,按顺序恢复所述已被挂起的多媒体应用列表中的多媒体应用。
其中,上述按顺序恢复所述已被挂起的多媒体应用列表中的多媒体应用的步骤具体为:
按先进后出的顺序恢复所述已被挂起的多媒体应用列表中的多媒体应用。
其中,上述多媒体应用列表为链表。
为解决上述技术问题,本发明还提供一种嵌入式终端的多媒体应用处理装置,包括:
多媒体应用运行存储模块,用于存储当前正在运行的多媒体应用列表;
多媒体应用挂起存储模块,用于存储已被挂起的多媒体应用列表;
多媒体应用管理模块,用于接收一个新的多媒体应用的启动请求信息,判断当前正在运行的多媒体应用列表中是否有与所述新的多媒体应用资源冲突的多媒体应用;若有,则挂起与所述新的多媒体应用资源冲突的多媒体应用,将与所述新的多媒体应用冲突的多媒体应用,添加到已被挂起的多媒体应用列表中;运行所述新的多媒体应用,并将所述新的多媒体应用添加到所述当前正在运行的多媒体应用列表中;
上下文信息保存模块,用于在所述多媒体应用管理模块挂起与所述新的多媒体应用冲突的多媒体应用后,保存当前被挂起的与所述新的多媒体应用资源冲突的多媒体应用的上下文信息;
多媒体应用恢复模块,用于在所述新的多媒体应用运行结束后,按顺序恢复所述已被挂起的多媒体应用列表中的多媒体应用。
其中,上述多媒体应用运行存储模块为堆栈,所述多媒体应用挂起存储模块为堆栈;
所述多媒体应用恢复模块在所述新的多媒体应用运行结束后,按先进后出的顺序恢复所述已被挂起的多媒体应用列表中的多媒体应用。
上述技术方案通过将多媒体资源的使用由多媒体应用之间互相协调转为由多媒体应用管理模块统一协调,消除了各个多媒体应用之间的耦合,自动保存被挂起的多媒体应用的运行上下文信息,使多媒体应用挂起和恢复自动化,减少开发工作量,这种统一的处理流程会给用户比较一致的使用体验,便于使用。

附图说明

图1为本发明实施例中嵌入式终端的多媒体应用处理方法流程示意图;
图2为图1所示方法的一个具体实例示意图;
图3为本发明实施例中嵌入式终端的结构示意图。

具体实施方式

为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明针对现有的嵌入式终端的多媒体应用处理方法中,多个多媒体应用抢占资源发生冲突时,相互协调麻烦,加剧各个多媒体应用之间的耦合的问题,提供一种嵌入式终端的多媒体应用处理方法,该方法将资源的使用由多媒体应用之间相互协调转为由多媒体应用管理统一协调,消除了各个多媒体应用之间的耦合。
如图1所示,该方法包括如下步骤:
步骤11,嵌入式终端中的多媒体应用管理模块接收一新的多媒体应用的启动请求信息;
步骤12,多媒体应用管理模块判断当前正在运行的多媒体应用列表中是否有与该新的多媒体应用资源冲突的多媒体体应用;若有,则执行步骤13,否则执行步骤16;
步骤13,挂起与该新的多媒体应用资源冲突的多媒体应用,将与该新的多媒体应用冲突的多媒体应用添加到已被挂起的多媒体应用列表中;
步骤14,运行该新的多媒体应用,并将该新的多媒体应用添加到正在运行的多媒体应用列表中;
步骤15,该新的多媒体应用运行结束时,按顺序恢复已被挂起的多媒体应用列表中的多媒体应用;
步骤16,运行该新的多媒体应用,并将该新的多媒体应用添加到正在运行的多媒体应用列表中。
上述步骤13中,挂起与该新的多媒体应用资源冲突的多媒体应用之后,还要保存当前被挂起的与该新的多媒体应用资源冲突的多媒体应用的上下文信息,以便在新的多媒体应用运行完毕后,恢复该被挂起的多媒体应用。
在上述方法中,无论是当前正在运行的多媒体应用列表,还是已经被挂起的多媒体应用列表,在开发嵌入式终端的多媒体应用时,可以设计为链表;这样如果有多个多媒体应用先后请求启动运行的情况,可以不断挂起之前的多媒体应用,在恢复时,可以从已被挂起的多媒体应用列表中按先进后出的顺序恢复已被挂起的多媒体应用。这样不但可以简化嵌入式终端的多媒体应用的开发,也可以使多个多媒体应用之间对资源的占用更加有序,避免了由于多个多媒体应用互相抢占资源而发生耦合,进而造成死机的现象,也可以给用户带来较好的使用体验。
下面举例说明上述方法中多个多媒体应用之间是如何有序协调对资源的占用的,如图2所示,假设多媒体应用A为:MP3音乐播放器,多媒体应用B为:视频播放器,多媒体应用C为:来电响铃播放器,这三个多媒体应用中,无论哪一个多媒体应用启动,都需要使用音频,所以它们之间会发生冲突;因此,本发明中两个多媒体应用冲突是指:两个或者两个以上的多媒体应用同一时刻都需要使用同一种类型的资源时而发生的抢占资源现象,而嵌入式终端无法满足这种需求,同一时刻只能为一个多媒体应用分配资源;
考虑以下场景:一开始用户采用MP3音乐播放器播放MP3音乐,听了一会儿后,用户启动视频播放器观看视频,观看视频过程中有电话打入,开始启动来电响铃播放器播放来电提示音乐;
如图2中的启动箭头,首先运行MP3音乐播放器,当用户启动视频播放器开始播放视频的时候,挂起MP3音乐播放器,保存MP3音乐的上下文信息,开始播放视频,这时打入电话,启动来电响铃播放器,那么又挂起视频播放器,保存视频上下文信息,开始播放来电音乐;
如图2中的挂起箭头,当用户关闭来电后,挂起该来电响铃播放器,将视频播放器恢复,由于在挂起视频播放器时,保存了用户正在观看的视频的上下文信息,所以用户又可以从视频中断的地方恢复观看视频,若用户关闭视频播放器,挂起该视频播放器,则将MP3音频播放器恢复,由于在挂起MP3音频播放器时,保存了用户正在观看的MP3音乐的上下文信息,用户又可以从音乐中断的地方开始MP3听音乐。
综上所述,本发明的方法通过将多媒体资源的使用由多媒体应用之间互相协调转为由多媒体应用管理模块统一协调,消除了各个多媒体应用之间的耦合,自动保存多媒体的运行上下文,使多媒体应用挂起和恢复自动化,减少开发工作量,这种统一的处理流程会给用户比较一致的使用体验,便于使用。
如图3所示,本发明还提供一种嵌入式终端,包括:
多媒体应用运行存储模块,用于存储当前正在运行的多媒体应用列表;
多媒体应用挂起存储模块,用于存储已被挂起的多媒体应用列表;
多媒体应用管理模块,用于接收一个新的多媒体应用的启动请求信息,判断当前正在运行的多媒体应用列表中是否有与该新的多媒体应用资源冲突的多媒体体应用;若有,则挂起与该新的多媒体应用资源冲突的多媒体应用,将与该新的多媒体应用资源冲突的多媒体应用添加到已被挂起的多媒体应用列表中;运行该新的多媒体应用,并将该新的多媒体应用添加到当前正在运行的多媒体应用列表中;
上下文信息保存模块,用于在多媒体应用管理模块挂起与新的多媒体应用资源冲突的多媒体应用后,保存该被挂起的与新的多媒体应用冲突的多媒体应用的上下文信息;
多媒体应用恢复模块,用于在所述新的多媒体应用运行结束后,根据上下文信息保存模块所保存的被挂起的多媒体应用的上下文信息,按顺序恢复已被挂起的多媒体应用列表中的多媒体应用。
上述多媒体应用运行存储模块所存储的当前正在运行的多媒体应用列表多为运行链表,该运行链表上的多媒体应用为:正在占用多媒体资源运行的多媒体应用;
上述多媒体应用挂起存储模块所存储的已被挂起的多媒体应用列表为挂起链表,该挂起链表上的多媒体应用为:被剥夺了对多媒体资源的使用权的多媒体应用。
上述多媒体应用管理模块的基本算法如下:
1.收到一个新的多媒体应用的启动请求后,首先遍历多媒体应用运行存储模块所存储的运行链表,如果该运行链表上的多媒体应用与该新的多媒体应用无资源冲突,则将该新的多媒体应用放到该运行链表中开始运行,否则将与该新的多媒体应用冲突的多媒体应用挂起,放置到挂起链表中,然后将新的多媒体应用放到运行链表中开始运行;
需要说明的是:在挂起与新的多媒体应用冲突的多媒体应用时需要保存当前的被挂起的多媒体应用的上下文信息,以便将来恢复。
2.上述多媒体应用恢复模块在该新的多媒体应用运行结束后,将该新的多媒体应用从运行链表上撤出,然后查询挂起链表上是否有被挂起的多媒体应用,如果有则将以前被挂起的多媒体应用恢复,将该被恢复的多媒体应用从挂起链表中转移到运行链表中,由于之前保存了该被恢复的多媒体应用的上下文信息,所以可以恢复到被挂起之前的状态;
优选的,上述多媒体应用运行存储模块为堆栈,上述多媒体应用挂起存储模块也为堆栈,这样如果有多个多媒体应用需要运行,在恢复时,可按先进后出的顺序进行恢复,而且也便于设计;
举例说明多个多媒体应用需要运行,按照先进后出的顺序恢复多媒体应用的过程:
例如,第一多媒体应用正在运行时,第二多媒体应用向多媒体应用管理模块发出启动请求信息,多媒体应用管理模块判断如果第一多媒体应用与该第二多媒体应用所占用的资源冲突,则挂起第一多媒体应用,将该第一多媒体应用放到挂起链表中,将第二多媒体应用放到运行链表中运行,此时,又有第三多媒体应用发出启动请求信息,多媒体应用管理模块判断该第三多媒体应用又和第二多媒体应用所占用的资源冲突,则挂起第二多媒体应用,也将该第二多媒体应用放到挂起链表中,将第三多媒体应用放到运行链表中运行;
当第三多媒体应用运行结束后,自动将第二多媒体应用从挂起链表中撤出,恢复该第二多媒体应用,第二多媒体应用运行结束后,自动将第一多媒体应用从挂起链表中撤出,恢复该第一多媒体应用;
上述方法不但可以使多个多媒体应用之间对资源的占用更加有序,也可以简化嵌入式终端的多媒体应用的开发,避免了由于多个多媒体应用互相抢占资源而发生耦合,进而造成死机的现象,也可以给用户带来较好的使用体验。
综上所述,通过将多媒体资源的使用由多媒体应用之间互相协调转为由多媒体应用管理模块统一协调,消除了各个多媒体应用之间的耦合,自动保存被挂起的多媒体应用的上下文信息,使多媒体应用挂起和恢复自动化,减少开发工作量,这种统一的处理流程会给用户比较一致的使用体验,便于使用。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。