《一种多媒体应用的并发管理方法和装置.pdf》由会员分享,可在线阅读,更多相关《一种多媒体应用的并发管理方法和装置.pdf(11页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102609302 A (43)申请公布日 2012.07.25 C N 1 0 2 6 0 9 3 0 2 A *CN102609302A* (21)申请号 201210015617.1 (22)申请日 2012.01.17 G06F 9/46(2006.01) G06F 9/52(2006.01) (71)申请人中兴通讯股份有限公司 地址 518057 广东省深圳市南山区高新技术 产业园科技南路中兴通讯大厦法务部 (72)发明人李培成 (74)专利代理机构北京派特恩知识产权代理事 务所(普通合伙) 11270 代理人张颖玲 程立民 (54) 发明名称 一种多媒体应。
2、用的并发管理方法和装置 (57) 摘要 本发明公开了一种多媒体应用的并发管理方 法,在Java框架层中增加多媒体并发管理模块, 存储在Java应用层设置的并发策略的参数;在有 多媒体应用启动请求时,Java框架层生成并保存 多媒体对象,在确定当前为多媒体应用并发时,查 询是否存储有对应的并发策略参数,在有对应的 并发策略参数时,根据所述并发策略参数对其他 的多媒体对象进行管理;Java框架层启动新保存 的多媒体对象;本发明同时还公开了一种多媒体 应用的并发管理装置,通过本发明的方案,能够更 加灵活的提供用户可配置的多媒体应用并发管理 功能,实现第三方多媒体应用和终端自带的多媒 体应用之间,以及。
3、第三方多媒体应用之间的并发 管理。 (51)Int.Cl. 权利要求书2页 说明书5页 附图3页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 5 页 附图 3 页 1/2页 2 1.一种多媒体应用的并发管理方法,其特征在于,该方法包括: Java框架层存储在Java应用层设置的并发策略的参数; 在有多媒体应用启动请求时,Java框架层生成并保存用于完成实际多媒体功能的多媒 体对象,在确定当前为多媒体应用并发时,查询是否存储有所述多媒体对象对应的并发策 略参数,在有对应的并发策略参数时,根据所述并发策略参数对除所述多媒体对象外的其 他多媒体对象进行管理。
4、; Java框架层启动新保存的多媒体对象的应用。 2.根据权利要求1所述的并发管理方法,其特征在于,该方法还包括:所述Java框架 层存储在Java应用层设置的并发策略的参数之前,在Java应用层通过并发策略设置界 面设置并发策略,Java应用层根据在界面设置的并发策略,在后台将并发策略参数发送给 Java框架层。 3.根据权利要求1所述的并发管理方法,其特征在于,所述Java框架层生成并保存多 媒体对象为:Java框架层的JNI模块接收Java应用层发送的创建多媒体对象的请求,通过 调用本地实现层的相关接口生成用于完成实际多媒体功能的多媒体对象,并保存所述多媒 体对象到Java框架层的数据结。
5、构内。 4.根据权利要求1所述的并发管理方法,其特征在于,所述根据所述并发策略参数对 除所述多媒体对象外的其他多媒体对象进行管理,包括:根据所述并发策略参数暂停除所 述多媒体对象外的其他多媒体对象的应用、或降低除所述多媒体对象外的其它多媒体对象 的声音。 5.根据权利要求1所述的并发管理方法,其特征在于,该方法还包括:Java框架层收到 请求停止多媒体应用的命令后,停止对应的多媒体对象的应用,根据所述多媒体对象的类 型及所述多媒体对象播放的媒体类型,查询是否存储有对应的并发策略参数,在有对应的 并发策略参数时,取消根据所述并发策略参数对其他多媒体对象的管理,并将已经停止的 多媒体对象从数据结构。
6、中删除。 6.一种多媒体应用的并发管理装置,其特征在于,该装置位于Java框架层,包括:JNI 模块、多媒体并发管理模块;其中, JNI模块,用于在有多媒体应用启动请求时,生成并保存用于完成实际多媒体功能的多 媒体对象,并向多媒体并发管理模块发送第一查询并发策略请求;根据多媒体并发管理模 块的通知,启动新保存的多媒体对象的应用; 多媒体并发管理模块,用于存储在Java应用层设置的并发策略的参数;收到JNI模块 的第一查询并发策略请求后,在确定当前为多媒体应用并发时,查询是否存储有新保存的 多媒体对象对应的并发策略参数,在有对应的并发策略参数时,根据所述并发策略参数对 除所述多媒体对象外的其他多。
7、媒体对象进行管理;通知JNI模块启动新保存的多媒体对象 的应用。 7.根据权利要求6所述的并发管理装置,其特征在于,所述JNI模块,具体用于接收 Java应用层发送的创建多媒体对象的请求,通过调用本地实现层的相关接口生成用于完成 实际多媒体功能的多媒体对象,并保存所述多媒体对象到多媒体并发管理模块的数据结构 内。 8.根据权利要求6所述的并发管理装置,其特征在于,所述JNI模块,还用于收到请求 权 利 要 求 书CN 102609302 A 2/2页 3 停止多媒体应用的命令后,停止对应的多媒体对象的应用,向多媒体并发管理模块发送携 带所述多媒体对象的类型及所述多媒体对象播放的媒体类型的第二查。
8、询并发策略请求。 9.根据权利要求8所述的并发管理装置,其特征在于,所述多媒体并发管理模块,还用 于收到第二查询并发策略请求后,根据已经停止的多媒体对象的类型及所述多媒体对象播 放的媒体类型,查询是否存储有对应的并发策略参数,在有对应的并发策略参数时,取消根 据所述并发策略参数对其他多媒体对象的管理,并将已经停止的多媒体对象从数据结构中 删除。 10.根据权利要求6至9任一项所述的并发管理装置,其特征在于,该装置实现在 android平台上。 权 利 要 求 书CN 102609302 A 1/5页 4 一种多媒体应用的并发管理方法和装置 技术领域 0001 本发明涉及多媒体技术,尤其涉及一种。
9、多媒体应用的并发管理方法和装置。 背景技术 0002 随着多媒体技术的发展,多媒体应用越来越广泛,尤其是智能终端的出现,更是满 足了人们希望随时随地享受影音、游戏等娱乐功能的需求。但多媒体应用多了以后,就需要 考虑各种多媒体应用之间的一些并发操作,比如,在音乐播放的过程中来闹钟,由于音乐的 声音和闹钟响铃都会进行声音输出,所以应该采取一定的策略对这二种声音的输出进行控 制,可以在闹钟响起的时候暂停音乐的播放,或者在闹钟响起的时候降低音乐播放的声音, 以突出闹钟的声音,否则的话,输出的声音就有可能比较杂乱,降低用户体验。在目前的智 能终端中,这两种方式都有使用,但一个终端上只能采用某一种固定的形。
10、式:要么闹钟响起 的时候暂停音乐的播放,要么闹钟响起的时候降低音乐播放的声音;用户无法根据自己的 喜好来选择一种并发方式,用户体验性不好。 0003 与传统的功能手机(fcaturePhone)和其他智能终端平台相比,android在多媒 体应用并发的实现上有了很大的进步,实现多媒体应用的并发相对比较容易。其所采用的 机制被称为广播机制,即当一个多媒体应用启动的时候,比如开始摄像,那么这个应用程 序,在这里就是摄像应用程序,会发送一个广播,在该广播中携带指定的数据,而其它多媒 体应用在收到所述广播时,根据接收到的所述广播中的数据确定自身进行何种操作,如暂 停自身或降低自身的播放音量等。但这种机。
11、制有一个比较严重的缺点就是,所有多媒体应 用必须对广播的数据的含义提前约定好,这样才能在收到某个指定的数据时执行相应的操 作。但android是一个开放的平台,允许用户随意安装自己感兴趣的软件,比如,除了使用 android终端上自带的音频播放器外,还可以安装第三方公司提供的音乐播放器。和不同公 司提供的各种多媒体应用提前约定指定数据的含义,这显然是不可能的。因此,对于终端自 带的应用和第三方提供的多媒体应用之间以及二个不同公司提供的第三方应用之间的并 发控制,android的支持性并不好。例如,在若干个品牌的android智能终端上测试发现, 当进行摄像的时候,仍然允许第三方音乐播放软件播放。
12、音乐,这显然是非常不合理的。 发明内容 0004 有鉴于此,本发明的主要目的在于提供一种多媒体应用的并发管理方法和装置, 能够以更加灵活的方式,提供用户可配置的多媒体应用并发管理功能,实现安装的第三方 多媒体应用和终端自带的多媒体应用之间,以及第三方多媒体应用之间的并发管理。 0005 为达到上述目的,本发明的技术方案是这样实现的: 0006 本发明提供的一种多媒体应用的并发管理方法,该方法包括: 0007 Java框架层存储在Java应用层设置的并发策略的参数; 0008 在有多媒体应用启动请求时,Java框架层生成并保存用于完成实际多媒体功能的 多媒体对象,在确定当前为多媒体应用并发时,查。
13、询是否存储有所述多媒体对象对应的并 说 明 书CN 102609302 A 2/5页 5 发策略参数,在有对应的并发策略参数时,根据所述并发策略参数对除所述多媒体对象外 的其他多媒体对象进行管理; 0009 Java框架层启动新保存的多媒体对象的应用。 0010 上述方案中,该方法还包括:所述Java框架层存储在Java应用层设置的并发策略 的参数之前,在Java应用层通过并发策略设置界面设置并发策略,Java应用层根据在界面 设置的并发策略,在后台将并发策略参数发送给Java框架层。 0011 上述方案中,所述Java框架层生成并保存多媒体对象为:Java框架层的JNI模块 接收Java应用。
14、层发送的创建多媒体对象的请求,通过调用本地实现层的相关接口生成用 于完成实际多媒体功能的多媒体对象,并保存所述多媒体对象到Java框架层的数据结构 内。 0012 上述方案中,所述根据所述并发策略参数对除所述多媒体对象外的其他多媒体对 象进行管理,包括:根据所述并发策略参数暂停除所述多媒体对象外的其他多媒体对象的 应用、或降低除所述多媒体对象外的其它多媒体对象的声音。 0013 上述方案中,该方法还包括:Java框架层收到请求停止多媒体应用的命令后,停 止对应的多媒体对象的应用,根据所述多媒体对象的类型及所述多媒体对象播放的媒体类 型,查询是否存储有对应的并发策略参数,在有对应的并发策略参数时。
15、,取消根据所述并发 策略参数对其他多媒体对象的管理,并将已经停止的多媒体对象从数据结构中删除。 0014 本发明提供的一种多媒体应用的并发管理装置,该装置位于Java框架层,包括: JNI模块、多媒体并发管理模块;其中, 0015 JNI模块,用于在有多媒体应用启动请求时,生成并保存用于完成实际多媒体功能 的多媒体对象,并向多媒体并发管理模块发送第一查询并发策略请求;根据多媒体并发管 理模块的通知,启动新保存的多媒体对象的应用; 0016 多媒体并发管理模块,用于存储在Java应用层设置的并发策略的参数;收到JNI 模块的第一查询并发策略请求后,在确定当前为多媒体应用并发时,查询是否存储有新保。
16、 存的多媒体对象对应的并发策略参数,在有对应的并发策略参数时,根据所述并发策略参 数对除所述多媒体对象外的其他多媒体对象进行管理;通知JNI模块启动新保存的多媒体 对象的应用。 0017 上述方案中,所述JNI模块,具体用于接收Java应用层发送的创建多媒体对象的 请求,通过调用本地实现层的相关接口生成用于完成实际多媒体功能的多媒体对象,并保 存所述多媒体对象到多媒体并发管理模块的数据结构内。 0018 上述方案中,所述JNI模块,还用于收到请求停止多媒体应用的命令后,停止对应 的多媒体对象的应用,向多媒体并发管理模块发送携带所述多媒体对象的类型及所述多媒 体对象播放的媒体类型的第二查询并发策。
17、略请求。 0019 上述方案中,所述多媒体并发管理模块,还用于收到第二查询并发策略请求后,根 据已经停止的多媒体对象的类型及所述多媒体对象播放的媒体类型,查询是否存储有对应 的并发策略参数,在有对应的并发策略参数时,取消根据所述并发策略参数对其他多媒体 对象的管理,并将已经停止的多媒体对象从数据结构中删除。 0020 上述方案中,该装置实现在android平台上。 0021 本发明提供了一种多媒体应用的并发管理方法和装置,Java框架层 说 明 书CN 102609302 A 3/5页 6 (JavaFramcwork)存储在Java应用层设置的并发策略的参数;在有多媒体应用启动请求 时,Ja。
18、va框架层生成并保存用于完成实际多媒体功能的多媒体对象,在确定当前为多媒体 应用并发时,查询是否存储有所述多媒体对象对应的并发策略参数,在有对应的并发策略 参数时,根据所述并发策略参数对其他的多媒体对象进行管理;Java框架层启动新保存的 多媒体对象;如此,能够以更加灵活的方式,提供用户可配置的多媒体应用并发管理功能, 实现安装的第三方多媒体应用和终端自带的多媒体应用之间,以及第三方多媒体应用之间 的并发管理,将带来更好、更加人性化的多媒体应用感受,大大提高用户体验,另外,本发明 的方案只是对Java框架层进行了扩展,对Java应用层的开发没有任何影响,和在传统的系 统平台运行的软件完全兼容。。
19、 附图说明 0022 图1为本发明实现多媒体应用的并发管理方法的流程示意图; 0023 图2为本发明实现多媒体应用的并发管理装置的结构示意图; 0024 图3为现有技术中android平台多媒体应用的架构示意图; 0025 图4为本发明实现的android平台多媒体应用的架构示意图。 具体实施方式 0026 本发明的基本思想是:Java框架层存储在Java应用层设置的并发策略的参数; 在有多媒体应用启动请求时,Java框架层生成用于完成实际多媒体功能的并保存多媒体对 象,在确定当前为多媒体应用并发时,查询是否存储有所述多媒体对象对应的并发策略参 数,在有对应的并发策略参数时,根据所述并发策略参。
20、数对其他多媒体对象进行管理;Java 框架层启动新保存的多媒体对象的应用。 0027 下面通过附图及具体实施例对本发明做进一步的详细说明。 0028 本发明实现一种多媒体应用的并发管理方法,如图1所示,该方法包括以下几个 步骤: 0029 步骤101:Java框架层存储在Java应用层设置的并发策略的参数; 0030 在本步骤之前,进一步包括:在Java应用层(Java Application)通过并发策略 设置界面设置并发策略,如:闹钟时是否允许播放音乐、是否允许多个不同的音乐播放器同 时播放音乐、摄像时是否关闭所有声音等等,这里,终端厂商可以设置各种灵活多样的设置 项;Java应用层根据在。
21、界面设置的并发策略,在后台将并发策略参数发送给Java框架层。 0031 步骤102:在有多媒体应用启动请求时,Java框架层生成并保存用于完成实际多 媒体功能的多媒体对象; 0032 具体的,用户向Java应用层发起多媒体应用启动请求,如音乐播放、摄像等;Java 应用层通过本地化方法向Java框架层的JNI模块如安卓.媒体媒体播放器(android. media.McdiaPlayer),请求创建多媒体对象,本实施例中为音乐播放器对象;所述JNI模块 接收所述请求,通过调用本地实现层(Native Libs)的相关接口生成用于完成实际多媒体 功能的多媒体对象,并保存所述多媒体对象到Java。
22、框架层的数据结构内; 0033 所述本地实现层的相关接口可以是媒体播放器准备(MediaPlayer:prepare)接 口、媒体播放器启动(MediaPlayer:start)接口、媒体播放器暂停(MediaPlayer:pause) 说 明 书CN 102609302 A 4/5页 7 接口、和媒体播放器停止(MediaPlayer:stop)接口等; 0034 所述Java框架层的数据结构可以使用但不局限于:Java框架层的多媒体对象链 表、列表或数组等。 0035 步骤103:Java框架层确定当前为多媒体应用并发后,查询是否存储有所述多媒 体对象对应的并发策略参数,在有对应的并发策略。
23、参数时,根据所述并发策略参数对其他 多媒体对象进行管理; 0036 所述Java框架层确定当前为多媒体应用并发,一般是:Java框架层检测当前是否 有至少一个多媒体对象的应用已经被启动,如果有,则确定当前为多媒体应用并发,否则确 定当前不为多媒体应用并发,直接执行步骤104。 0037 所述根据所述并发策略参数对其他多媒体对象进行管理,包括:根据所述并发策 略参数暂停其他多媒体对象的应用,或者降低其它多媒体对象的声音,等等。 0038 本步骤还包括,在没有对应的并发策略参数时,直接执行步骤104。 0039 步骤104:Java框架层启动新保存的多媒体对象的应用; 0040 上述方法进一步包括。
24、:Java框架层收到请求停止多媒体应用的命令后,停止对应 的多媒体对象的应用,根据所述多媒体对象的类型及所述多媒体对象播放的媒体类型,查 询是否存储有对应的并发策略参数,在有对应的并发策略参数时,取消根据所述并发策略 参数对其他多媒体对象的管理,恢复其他多媒体对象的应用,并将已经停止的多媒体对象 从数据结构中删除。 0041 为了实现上述方法,本发明还提供一种多媒体应用的并发管理装置,该装置位于 Java框架层,如图2所示,该装置包括:JNI模块21、多媒体并发管理模块(Multimedia Concurrent Manager)22;其中, 0042 JNI模块21,用于在有多媒体应用启动请。
25、求时,生成并保存用于完成实际多媒体 功能的多媒体对象,并向多媒体并发管理模块22发送第一查询并发策略请求;根据多媒体 并发管理模块22的通知,启动新保存的多媒体对象的应用; 0043 多媒体并发管理模块22,用于存储在Java应用层设置的并发策略的参数;收到 JNI模块21的第一查询并发策略请求后,在确定当前为多媒体应用并发时,查询是否存储 有新保存的多媒体对象对应的并发策略参数,在有对应的并发策略参数时,根据所述并发 策略参数对其他多媒体对象进行管理;通知JNI模块21启动新保存的多媒体对象的应用; 0044 所述JNI模块21,具体用于接收Java应用层发送的创建多媒体对象的请求后,通 过。
26、调用本地实现层的相关接口生成用于完成实际多媒体功能的多媒体对象,并保存所述多 媒体对象到Java框架层的数据结构内; 0045 所述JNI模块21,还用于收到请求停止多媒体应用的命令后,停止对应的多媒体 对象的应用,向多媒体并发管理模块22发送携带所述多媒体对象的类型及所述多媒体对 象播放的媒体类型的第二查询并发策略请求; 0046 所述多媒体并发管理模块22,还用于收到第二查询并发策略请求后,根据已经停 止的多媒体对象的类型及所述多媒体对象播放的媒体类型,查询是否存储有对应的并发策 略参数,在有对应的并发策略参数时,取消根据所述并发策略参数对其他多媒体对象的管 理,恢复其他多媒体对象的应用,。
27、并将已经停止的多媒体对象从数据结构中删除。 0047 实现上述装置的系统平台一般是android平台,现有技术中的android平台中多 说 明 书CN 102609302 A 5/5页 8 媒体应用,如图3所示,划分为以下几个层次:Java应用层(JavaApplication)、Java框架 层(Java Framework)、本地实现层(Native Libs)和驱动层(Driver),通过各个层次的相 互分工与协作实现多媒体应用。其中, 0048 所述Java应用层负责构建与用户交互的各种UI界面,确定界面的形式及支持的 用户操作,通过调用Java框架层提供的接口完成指定的功能;Jav。
28、a应用层只需要与Java 框架层打交道,调用Java框架层的应用程序编程接口(API,Application Programming Interface)即可,不用关心底层硬件细节;Java应用层的模块包括:照相机(Camera)、媒体 记录(Media Recorder)、媒体播放器(MediaPlayer)、参数设置(Param Set)等。 0049 所述的Java框架层对Java应用层提供支持,如:照相机(android.hardware. Camera)、媒体记录(android.media.MediaRecorder)、媒体播放器(android.media. Mediaplaye。
29、r)等JNI模块。Java框架层提供了API给Java应用层开发人员使用,包括如 何使用控件、管理资源以及应用生命周期的管理等,对应用交互模块起到支撑作用。 0050 所述的本地实现层是由c/c+所编写的函数库,提供了标准c库、对音频的处理、 对图像的处理等基本功能,这些基本功能由具体的多媒体对象实现,所述多媒体对象包括: 照相机(Camera)对应的照相机服务(Camera Service)、媒体记录器(mediarecordcr)使 用的Packet Video Framework框架中的PV Author、媒体播放器(mediaplayer)对应的媒 体播放器服务(MediaPlayer。
30、 Servicc)、媒体播放器服务(MediaPlayer Service)依赖的 Packet Video Framework框架中的PV Player、Midi Player、Verbis Player等,此外,在 本地实现层还包括照相机硬件(Camera Hardware)的多媒体对象;最终通过Java框架层给 上层应用提供这些基本功能。 0051 所述的驱动层根据底层芯片或硬件的不同,提供不同的驱动,完成与硬件的交互 功能,如对照相机硬件(Camera IIardware)提供的V4L2 Capture和对数据包视频框架 (Packet Video Framework)提供的Hardw。
31、are Codec。 0052 本发明中,如图4所示,在图3中的Java框架层增加多媒体并发管理模块,所述多 媒体并发管理模块存储在Java应用层设置的并发策略的参数;Java框架层的JNI模块接 收创建多媒体对象的请求后,通过调用本地实现层的相关接口生成用于完成实际多媒体功 能的多媒体对象,并保存所述多媒体对象到多媒体并发管理模块的数据结构内;所述多媒 体并发管理模块收到JNI模块的第一查询并发策略请求后,根据新保存的多媒体对象的类 型及多媒体对象播放的媒体类型,查询是否存储有对应的并发策略参数,在有对应的并发 策略参数时,根据所述并发策略参数对本地实现层的其他多媒体对象进行管理;JNI模块 启动新保存的多媒体对象的应用。 0053 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。 说 明 书CN 102609302 A 1/3页 9 图1 图2 说 明 书 附 图CN 102609302 A 2/3页 10 图3 说 明 书 附 图CN 102609302 A 10 3/3页 11 图4 说 明 书 附 图CN 102609302 A 11 。