一种音乐文件加载方法及相关设备技术领域
本发明涉及互联网技术领域,尤其涉及一种音乐文件加载方法及相关设备。
背景技术
随着人们生活水平的提高,各种终端设备得到广泛使用,能够在终端设备
如手机上运行的游戏也越来越多,从而增强了终端的娱乐性。同时,在终端上
运行游戏也增加了对内存的要求,一般来说,终端可用内存越小,运行游戏也
就越为困难。
在实际应用中,在加载游戏音乐时,是先将游戏音乐文件进行预加载,即
整包加载到终端内存中,若当前终端的可用内存较小,即检测到音乐文件相对
该可用内存过大时,则会导致音效较差如音乐不连续甚至没有声音等问题。需
由音效设计相关人员对该音乐文件进行有损压缩,然后再加载到游戏中,重新
打包发布一个游戏版本。此时则需要终端用户根据该新发布的版本更新游戏应
用来解决该问题。
然而,由于各终端的可用内存不同,能够支持的音乐文件大小也就不同。
而该重新打包发布的方式进行的是统一的有损压缩处理,从而压缩得到一个较
小的音乐文件,无法针对不同内存的终端进行对应的音乐文件的加载处理,导
致音乐文件加载灵活性较差。且终端用户常常不会及时地更新应用,导致问题
不能及时得到解决,该重新打包发布的方式效率较低,使得极大地影响了游戏
的生命周期。
发明内容
本发明实施例所要解决的技术问题在于,提供一种音乐文件加载方法及相
关设备,用于解决现有技术中无法针对不同内存的终端进行音乐文件加载处理,
音乐文件加载灵活性较差的问题。
本发明实施例提供了一种音乐文件加载方法,包括:
获取当前应用场景下终端设备的目标内存值,并从预置的内存阈值表中查
找出与所述目标内存值对应的目标音频播放参数;
按照所述目标音频播放参数对所述应用场景下的音乐文件进行转码处理,
获得目标音乐文件;
将所述目标音乐文件加载到所述应用场景中。
可选的,在所述将所述目标音乐文件加载到所述应用场景中之后,所述方
法还包括:
监控所述应用场景下所述终端设备所有的实时可用内存值;
从监控到的所有的实时内存值中筛选出最小实时可用内存值;
将所述最小实时可用内存值以及所述目标音频播放参数发送至服务器,以
使所述服务器根据所述最小实时可用内存值对预置的内存阈值表中所述目标音
频播放参数对应的内存值进行更新。
可选的,所述从预置的内存阈值表中查找出与所述目标内存值对应的目标
音频播放参数,包括:
向服务器发送携带所述终端设备的设备型号和/或所述应用场景的场景信息
的参数请求;
接收所述服务器响应所述参数请求返回的与所述设备型号和/或所述应用场
景对应的内存阈值表,所述内存阈值表中包括至少一个内存值以及每一个所述
内存值对应的音频播放参数;
从所述内存阈值表中查找出与所述目标内存值匹配的内存值,以及从所述
内存阈值表中确定出所述匹配的内存值对应的目标音频播放参数。
可选的,所述从预置的内存阈值表中查找出与所述目标内存值对应的目标
音频播放参数,包括:
向服务器发送携带所述终端设备的设备型号、所述应用场景的场景信息及
所述目标内存值的参数请求,以使所述服务器从所述设备型号及所述应用场景
对应的内存阈值表中查找出与所述目标内存值匹配的内存值,以及从所述内存
阈值表中确定出所述匹配的内存值对应的目标音频播放参数;
接收所述服务器响应所述参数请求返回的目标音频播放参数。
可选的,所述将所述最小实时可用内存值以及所述目标音频播放参数发送
至服务器,包括:
将所述设备型号、所述应用场景的场景信息、所述最小实时可用内存值以
及所述目标音频播放参数发送至服务器,以使所述服务器根据所述最小实时可
用内存值对所述设备型号及所述应用场景对应的内存阈值表中所述目标音频播
放参数对应的内存值进行更新。
可选的,所述目标音频播放参数包括目标采样率和目标比特率;所述按照
所述目标音频播放参数对所述应用场景下的音乐文件进行转码处理,获得目标
音乐文件,包括:
获取所述应用场景下的音乐文件的当前采样率和当前比特率;
以所述当前采样率和所述当前比特率为依据,对所述音乐文件进行转码处
理,生成所述目标采样率和所述目标比特率对应的目标音乐文件。
相应地,本发明实施例还提供了一种音乐文件加载方法,包括:
接收终端设备发送的最小实时可用内存值以及目标音频播放参数,所述最
小实时可用内存值是所述终端设备在当前应用场景下所有的实时可用内存值中
最小的内存值;
根据所述最小实时可用内存值对预置的内存阈值表中所述目标音频播放参
数对应的内存值进行更新,其中,所述内存阈值表中包括至少一个内存值以及
每一个所述内存值对应的音频播放参数。
可选的,所述方法还包括:
获取所述终端设备的设备型号和/或所述应用场景的场景信息;
所述根据所述最小实时可用内存值对预置的内存阈值表中所述目标音频播
放参数对应的内存值进行更新,包括:
从已存储的至少一个内存阈值表中查找出所述设备型号和/或所述应用场景
对应的内存阈值表,以及查找出所述内存阈值表中与所述目标音频播放参数匹
配的音频播放参数;
根据所述最小实时可用内存值对所述内存阈值表中所述匹配的音频播放参
数对应的内存值进行更新。
可选的,所述根据所述最小实时可用内存值对所述内存阈值表中所述匹配
的音频播放参数对应的内存值进行更新,包括:
将所述内存阈值表中所述匹配的音频播放参数对应的内存值作为初始内存
值,并将所述初始内存值与所述最小实时可用内存值进行比较;
若所述初始内存值低于所述最小实时可用内存值,则调高所述初始内存值;
若所述初始内存值高于所述最小实时可用内存值,则调低所述初始内存值。
相应地,本发明实施例还提供了一种终端设备,包括:
获取模块,用于获取当前应用场景下终端设备的目标内存值,并从预置的
内存阈值表中查找出与所述目标内存值对应的目标音频播放参数;
转码模块,用于按照所述获取模块查找出的所述目标音频播放参数对所述
应用场景下的音乐文件进行转码处理,获得目标音乐文件;
加载模块,用于将所述转码模块获得的所述目标音乐文件加载到所述应用
场景中。
可选的,所述终端设备还包括:
监控模块,用于监控所述应用场景下所述终端设备所有的实时可用内存值;
筛选模块,用于从所述监控模块监控到的所有的实时内存值中筛选出最小
实时可用内存值;
信息发送模块,用于将所述最小实时可用内存值以及所述目标音频播放参
数发送至服务器,以使所述服务器根据所述最小实时可用内存值对预置的内存
阈值表中所述目标音频播放参数对应的内存值进行更新。
可选的,所述获取模块包括:
第一请求单元,用于向服务器发送携带所述终端设备的设备型号和/或所述
应用场景的场景信息的参数请求;
第一接收单元,用于接收所述服务器响应所述参数请求返回的与所述设备
型号和/或所述应用场景对应的内存阈值表,所述内存阈值表中包括至少一个内
存值以及每一个所述内存值对应的音频播放参数;
参数确定单元,用于获取当前应用场景下终端设备的目标内存值,从所述
第一接收单元接收的所述内存阈值表中查找出与所述目标内存值匹配的内存
值,以及从所述内存阈值表中确定出所述匹配的内存值对应的目标音频播放参
数。
可选的,所述获取模块包括:
第二请求单元,用于获取当前应用场景下终端设备的目标内存值,向服务
器发送携带所述终端设备的设备型号、所述应用场景的场景信息及所述目标内
存值的参数请求,以使所述服务器从所述设备型号及所述应用场景对应的内存
阈值表中查找出与所述目标内存值匹配的内存值,以及从所述内存阈值表中确
定出所述匹配的内存值对应的目标音频播放参数;
第二接收单元,用于接收所述服务器响应所述参数请求返回的目标音频播
放参数。
可选的,所述信息发送模块具体用于:
将所述设备型号、所述应用场景的场景信息、所述最小实时可用内存值以
及所述目标音频播放参数发送至服务器,以使所述服务器根据所述最小实时可
用内存值对所述设备型号及所述应用场景对应的内存阈值表中所述目标音频播
放参数对应的内存值进行更新。
可选的,所述目标音频播放参数包括目标采样率和目标比特率;所述转码
模块包括:
信息获取单元,用于获取所述应用场景下的音乐文件的当前采样率和当前
比特率;
文件生成单元,用于以所述信息获取单元获取的所述当前采样率和所述当
前比特率为依据,对所述音乐文件进行转码处理,生成所述目标采样率和所述
目标比特率对应的目标音乐文件。
相应地,本发明实施例还提供了一种服务器,包括:
信息接收模块,用于接收终端设备发送的最小实时可用内存值以及目标音
频播放参数,所述最小实时可用内存值是所述终端设备在当前应用场景下所有
的实时可用内存值中最小的内存值;
更新模块,用于根据所述最小实时可用内存值对预置的内存阈值表中所述
目标音频播放参数对应的内存值进行更新,其中,所述内存阈值表中包括至少
一个内存值以及每一个所述内存值对应的音频播放参数。
可选的,所述服务器还包括:
信息获取模块,用于获取所述终端设备的设备型号和/或所述应用场景的场
景信息;
所述更新模块包括:
查找单元,用于从已存储的至少一个内存阈值表中查找出所述设备型号和/
或所述应用场景对应的内存阈值表,以及查找出所述内存阈值表中与所述目标
音频播放参数匹配的音频播放参数;
信息更新单元,用于根据所述最小实时可用内存值对所述内存阈值表中所
述匹配的音频播放参数对应的内存值进行更新。
可选的,所述信息更新单元具体用于:
将所述内存阈值表中所述匹配的音频播放参数对应的内存值作为初始内存
值,并将所述初始内存值与所述最小实时可用内存值进行比较;
若所述初始内存值低于所述最小实时可用内存值,则调高所述初始内存值;
若所述初始内存值高于所述最小实时可用内存值,则调低所述初始内存值。
实施本发明实施例,具有如下有益效果:
本发明实施例可通过获取当前应用场景下终端设备的目标内存值,并从预
置的内存阈值表中查找出与该目标内存值对应的音频播放参数,从而根据该查
找出的音频播放参数对该应用场景下的音乐文件进行转码处理,生成一个与该
音频播放参数对应的目标音乐文件,以将该目标音乐文件加载到该应用场景中
进行播放,使得能够针对不同内存的终端进行对应的音乐文件加载处理,灵活
性较高,且无需重新打包发布,使得节省了应用设计人员及终端用户等相关用
户的时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施
例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述
中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付
出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种音乐文件加载方法的流程示意图;
图2是本发明实施例提供的另一种音乐文件加载方法的流程示意图;
图3是本发明实施例提供的又一种音乐文件加载方法的流程示意图;
图4是本发明实施例提供的一种终端设备的结构示意图;
图5是本发明实施例提供的另一种终端设备的结构示意图;
图6是本发明实施例提供的一种服务器的结构示意图;
图7是本发明实施例提供的一种音乐文件加载系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清
楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是
全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造
性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种音乐文件加载方法、相关设备及系统,能够实现
对不同内存的终端灵活地加载目标应用关联的音乐文件。以下分别进行详细说
明。
请参见图1,图1是本发明实施例提供的一种音乐文件加载方法的流程示意
图,具体的,本发明实施例的所述方法可以包括以下步骤:
S101:获取当前应用场景下终端设备的目标内存值,并从预置的内存阈值
表中查找出与所述目标内存值对应的目标音频播放参数。
需要说明的是,本发明实施例的所述方法可具体应用于智能手机(如Android
手机、iOS手机等)、平板电脑、移动互联网设备(MobileInternetDevices,简
称“MID”)、个人数字助理(PersonalDigitalAssistant,简称“PDA”)等终端设
备(或简称终端)中。
具体实施例中,可预先设置得到包括多个内存值及其对应的音频播放参数
的内存阈值表,该内存阈值表中每一个内存值对应一组音频播放参数(可以是
多个内存值对应一组音频播放参数)。其中,每组音频播放参数可包括采样率、
比特率等参数。该内存阈值表可存储于该终端设备或服务器中,本发明实施例
不做限定。
具体的,当终端运行某一需要加载音乐文件的应用如游戏应用时,可获取
当前应用场景下该终端的目标内存值,并从该预置的内存阈值表中查找出与该
目标内存值匹配的内存值,以及从该内存阈值表中确定出该内存值对应的音频
播放参数即目标音频播放参数,以根据该目标音频播放参数对当前应用场景的
音乐文件进行处理。其中,该目标内存值可以是指终端当前占用内存值,或者
是终端当前的可用内存值。与该目标内存值匹配的内存值可以是该内存阈值表
中与该目标内存值相同的内存值,或者,还可以是该内存阈值表中与该目标内
存值的差的绝对值最小的内存值,或者,还可以是该内存阈值表中的一个内存
值区间(该目标内存值处于该内存值区间范围内,该内存值区间的所有内存值
对应一组音频播放参数)。
S102:按照所述目标音频播放参数对所述应用场景下的音乐文件进行转码
处理,获得目标音乐文件。
进一步的,可预先为当前应用场景对应的应用如游戏应用配置多媒体转码
框架,即在游戏应用中集成多媒体转码框架。其中,该多媒体转码框架可包括
但不限于FFMPEG、GStreamer等等。则所述按照所述目标音频播放参数对所述
应用场景下的音乐文件进行转码处理,获得目标音乐文件,可以具体为:接收
与所述多媒体转码框架对应的转码命令;响应所述转码命令,并按照所述目标
音频播放参数对所述应用场景下的音乐文件进行转码处理,获得目标音乐文件。
具体的,该确定出的目标音频播放参数即可作为需要转换的音乐文件的播
放参数,对当前应用场景下的音乐文件(即原始音乐文件),如游戏应用场景下
的原始音乐文件进行转码处理,获得与该目标播放参数对应的目标音乐文件,
而不会对原始音乐文件进行修改,从而无需重新打包发布应用版本,节省了成
本。
S103:将所述目标音乐文件加载到所述应用场景中。
当转换得到目标音乐文件之后,即可将该目标音乐文件加载到当前应用场
景如游戏应用场景中进行播放,运行该游戏应用。
进一步的,在将该目标音乐文件加载到当前应用场景之后,还可监控所述
应用场景下,如游戏应用场景下即游戏运行过程中所述终端设备所有的实时可
用内存值,并从监控到的所有的实时内存值中筛选出最小实时可用内存值,以
根据所述最小实时可用内存值对该内存阈值表中与所述目标音频播放参数对应
的内存值进行更新,从而提升内存值与音频播放参数的对应关系的准确性。
在本发明实施例中,可通过获取当前应用场景下终端设备的目标内存值,
并从预置的内存阈值表中查找出与该目标内存值对应的音频播放参数,从而根
据该查找出的音频播放参数对该应用场景下的音乐文件进行转码处理,生成一
个与该音频播放参数对应的目标音乐文件,以将该目标音乐文件加载到该应用
场景中进行播放,使得能够针对不同内存的终端进行对应的音乐文件加载处理,
灵活性较高,且无需重新打包发布,使得节省了应用设计人员及终端用户等相
关用户的时间。
请参见图2,图2是本发明实施例提供的另一种音乐文件加载方法的流程示
意图,本发明实施例的所述方法可具体应用于终端设备中,具体的,本发明实
施例的所述方法可以包括以下步骤:
S201:获取当前应用场景下终端设备的目标内存值,并从预置的内存阈值
表中查找出与所述目标内存值对应的目标音频播放参数,所述目标音频播放参
数包括目标采样率和目标比特率。
可选的,所述从预置的内存阈值表中查找出与所述目标内存值对应的目标
音频播放参数,可以具体为:向服务器发送携带所述终端设备的设备型号和/或
所述应用场景的场景信息的参数请求;接收所述服务器响应所述参数请求返回
的与所述设备型号和/或所述应用场景对应的内存阈值表,所述内存阈值表中包
括至少一个内存值以及每一个所述内存值对应的音频播放参数;从所述内存阈
值表中查找出与所述目标内存值匹配的内存值,以及从所述内存阈值表中确定
出所述匹配的内存值对应的目标音频播放参数。
可选的,所述从预置的内存阈值表中查找出与所述目标内存值对应的目标
音频播放参数,还可以具体为:向服务器发送携带所述终端设备的设备型号、
所述应用场景的场景信息及所述目标内存值的参数请求,以使所述服务器从所
述设备型号及所述应用场景对应的内存阈值表中查找出与所述目标内存值匹配
的内存值,以及从所述内存阈值表中确定出所述匹配的内存值对应的目标音频
播放参数;接收所述服务器响应所述参数请求返回的目标音频播放参数。
也就是说,具体实施例中,由于不同终端设备能够使用的音乐文件的采样
率和比特率不同,因此,可根据不同终端设备的设备型号为该终端预置得到包
括有多个内存值以及与每一个内存值对应的采样率和比特率的内存阈值表。进
一步的,还可以根据当前应用场景预置得到该内存阈值表,比如结合游戏应用
场景、网页背景音乐应用场景或其他应用场景预置得到不同的内存阈值表,或
者对不同游戏进行分类(如根据游戏占用内存大小进行分类),预置得到不同的
内存阈值表。其中,该内存阈值表中的内存值可具体对应终端设备的可用内存
值,该内存阈值表可在该终端设备或服务器中预置得到,本发明实施例以在服
务器预置得到该内存阈值表为例进行说明。
具体的,服务器中存储有各种设备型号的终端设备和/或应用场景对应的内
存阈值表。服务器在接收到终端设备发送的携带设备型号的内存阈值表请求之
后,即可根据该设备型号和/或应用场景查找出与该设备型号对应的内存阈值表
作为该请求的终端设备的内存阈值表,并发送给该终端设备。或者,终端还可
通过向服务器发送设备型号及当前的目标内存值,当前应用场景及目标内存值,
或设备型号、当前应用场景及目标内存值这三种组合中的任一种组合参数,以
使服务器获取到与该设备型号和/或应用场景对应的内存阈值表,并从该内存阈
值表中查找出与该目标内存值匹配的内存值,以及从该内存阈值表中确定出该
内存值对应的音频播放参数即目标音频播放参数返回给终端设备。例如,该内
存阈值表可以如下表1所示:
表1
内存值
采样率
比特率
50M以上
22050Hz
192kbps
41-50M
22050Hz
128kbps
36-40M
22050Hz
64kbps
31-35M
11025Hz
128kbps
26-30M
11025Hz
64kbps
20-25M
8000Hz
128kbps
20M以下
8000Hz
64kbps
其中,该内存阈值表中包括多个内存值以及与每一个内存值对应的采样率
和比特率,并具体将该内存值分为了多个内存值区间,每一个区间范围的内存
值对应的采样率和比特率相同。
具体的,与该目标内存值匹配的内存值可以是该内存阈值表中与该目标内
存值相同的内存值,或者,还可以是该内存阈值表中与该目标内存值的差的绝
对值最小的内存值,或者,还可以是该内存阈值表中的一个内存值区间(该目
标内存值处于该内存值区间范围内,该内存值区间的所有内存值对应一组音频
播放参数)。以表1为例,则与该目标内存值匹配的内存值则为一个内存值区间,
例如,终端设备的目标内存值如当前可用内存值为30M,则内存阈值表中与该
目标内存值匹配的内存值为26-30M这一内存值区间,其对应的目标采样率为
11025Hz、目标比特率为64kbps。
S202:获取所述应用场景下的音乐文件的当前采样率和当前比特率。
S203:以所述当前采样率和所述当前比特率为依据,对所述音乐文件进行
转码处理,生成所述目标采样率和所述目标比特率对应的目标音乐文件。
S204:将所述目标音乐文件加载到所述应用场景中。
具体实施例中,终端设备还需获取当前应用场景下如游戏应用场景下的音
乐文件的当前采样率和当前比特率,即原始的游戏音乐文件的采样率和比特率。
在获取得到该当前采样率、当前比特率、目标采样率和目标比特率之后,即可
对该游戏音乐文件进行转码处理,生成该目标采样率和目标比特率对应的目标
音乐文件,并将该目标音乐文件加载到该游戏应用场景中,并运行该游戏。也
就是说,本发明实施例是通过另外生成一个音乐文件来进行音乐文件的加载处
理,而无需对原始的游戏音乐文件进行修改,即无需重新打包发布游戏版本。
具体的,可预先为该应用场景对应的应用如游戏应用配置多媒体转码框架,
即在游戏应用中集成多媒体转码框架。其中,该多媒体转码框架可包括但不限
于FFMPEG、GStreamer等等。则终端设备可接收与所述多媒体转码框架对应的
转码命令,以FFMPEG为例,则终端设备可接收FFMPEG转码命令,并响应该
FFMPEG转码命令,获取原始的游戏音乐文件的采样率和比特率,从而对该游
戏相关联的音乐文件即原始的游戏音乐文件进行转码处理,生成该目标采样率
和所述目标比特率对应的目标音乐文件。举例来说,该FFMPEG转码命令可以
如下所示:
ffmpeg-iinput_music-ab64-ar22050output_music.mp3
其中,i表示指定需要转换的音乐文件即目标音乐文件的路径;ar为采样率,
ab为比特率。若设为立体声ac则需以比特率的一半来设置,比如192kbps的就
设置为96kbps。
S205:监控所述应用场景下所述终端设备所有的实时可用内存值。
S206:从监控到的所有的实时内存值中筛选出最小实时可用内存值。
S207:将所述最小实时可用内存值以及所述目标采样率和所述目标比特率
发送至服务器,以使所述服务器根据所述最小实时可用内存值对预置的内存阈
值表中所述目标音频播放参数对应的内存值进行更新。
具体的,当进入第一个界面,游戏启动完成之后,可开一个线程对终端设
备的可用内存进行监控,监控该游戏运行过程中的所有的实时可用内存值(具
体可通过监控终端所有实时内存占用值,并根据终端内存总量计算得到该实时
内存占用值对应的实时可用内存值)。当游戏结束后,即可从中筛选出最小实时
可用内存值并上报给服务器。具体可在下一次启动游戏时再上报服务器,该上
报的内容包括该最小实时可用内存值、目标采样率和目标比特率,以使所述服
务器根据该最小实时可用内存值对内存阈值表中该目标采样率和目标比特率对
应的目标内存值进行更新。进一步的,若该内存阈值表是根据终端设备的设备
型号和/或应用场景预置得到的,还可进一步将该终端设备的设备型号和/或当前
应用场景的场景信息发送给服务器,以使服务器对该设备型号和/或应用场景对
应的内存阈值表进行更新。其中,该更新操作可以是服务器根据预设规则自动
进行的,或者由服务器侧技术人员根据终端设备上报的内容手动进行的。
在本发明实施例中,可通过获取当前应用场景下终端设备的目标内存值,
并从该内存阈值表中查找出与该目标内存值对应的采样率和比特率,从而根据
该查找出的采样率和比特率以及原始的游戏音乐文件的当前采样率和当前比特
率对该原始的游戏音乐文件进行转码处理,生成一个与该查找出的采样率和比
特率对应的游戏音乐文件即目标音乐文件,从而将该目标音乐文件加载到当前
游戏应用场景中进行播放,并运行游戏。本发明实施例能够针对不同内存的终
端进行对应的游戏音乐文件加载处理,灵活性较高,而无需对原始的游戏音乐
文件进行修改,无需重新打包发布游戏版本,使得节省了游戏设计人员及终端
用户等相关用户的时间,并减小了对游戏生命周期的影响,节省了游戏开发成
本。
请参见图3,图3是本发明实施例提供的又一种音乐文件加载方法的流程示
意图,本发明实施例的所述方法可具体应用于服务器中,具体的,本发明实施
例的所述方法可以包括以下步骤:
S301:接收终端设备发送的最小实时可用内存值以及目标音频播放参数,
所述最小实时可用内存值是所述终端设备在当前应用场景下所有的实时可用内
存值中最小的内存值。
具体实施例中,终端设备在根据当前应用场景下的目标内存值确定出的目
标音频播放参数对该应用场景下的原始音乐文件进行转码,生成目标音乐文件,
并加载至当前应用场景后,在运行该应用场景对应的应用如游戏应用过程中,
可监控当前应用场景下所有的实时可用内存值,并从中筛选出最小的内存值即
最小实时可用内存值发送给服务器。此外,还可将该目标音频播放参数发送给
服务器。服务器接收该终端设备发送的内存值和音频播放参数。
S302:根据所述最小实时可用内存值对预置的内存阈值表中所述目标音频
播放参数对应的内存值进行更新。
其中,所述内存阈值表中包括至少一个内存值以及每一个所述内存值对应
的音频播放参数。
服务器在接收到该终端设备发送的内存值和音频播放参数即目标音频播放
参数之后,即可从预置的内存阈值表中查找出与该目标音频播放参数匹配的音
频播放参数,以及从该内存阈值表中确定出该匹配的音频播放参数对应的内存
值,从而根据该接收的最小实时可用内存值对该确定出的内存值进行更新,使
得提升了音频播放参数与内存值对应关系的准确性。
进一步的,该内存阈值表还可以是根据终端设备的设备型号和/或应用场景
预置得到的。则服务器还可获取所述终端设备的设备型号和/或所述应用场景的
场景信息,该终端设备的设备型号和/或所述应用场景的场景信息具体可以是终
端在向服务器发送该最小实时可用内存值和该目标音频播放参数时发送给服务
器的。进一步的,所述根据所述最小实时可用内存值对预置的内存阈值表中所
述目标音频播放参数对应的内存值进行更新,可以具体为:从已存储的至少一
个内存阈值表中查找出所述设备型号和/或所述应用场景对应的内存阈值表,以
及查找出所述内存阈值表中与所述目标音频播放参数匹配的音频播放参数;根
据所述最小实时可用内存值对所述内存阈值表中所述匹配的音频播放参数对应
的内存值进行更新。
可选的,所述根据所述最小实时可用内存值对所述内存阈值表中所述匹配
的音频播放参数对应的内存值进行更新,可以具体为:将所述内存阈值表中所
述匹配的音频播放参数对应的内存值作为初始内存值,并将所述初始内存值与
所述最小实时可用内存值进行比较;若所述初始内存值低于所述最小实时可用
内存值,则调高所述初始内存值;若所述初始内存值高于所述最小实时可用内
存值,则调低所述初始内存值。也就是说,服务器在根据接收的终端设备发送
的内存值即最小实时可用内存值相应内存阈值表如终端设备的设备型号和/或所
述应用场景对应的内存阈值表中该目标音频播放参数对应的内存值(初始内存
值)进行更新时,即可根据预设的算法确定一个该初始内存值与该最小实时可
用内存值的中间值,并将该中间值与该目标音频播放参数进行对应存储,以实
现对该内存值的调整。
在本发明实施例中,服务器可在接收到终端设备发送的内存值及音频播放
参数时,根据该接收的内存值对预置的内存阈值表中该接收的音频播放参数对
应的内存值进行更新,从而进一步提升了该内存阈值表中音频播放参数与内存
值的对应关系的准确性,使得后续在进行音乐文件加载时能够根据终端当前的
可用内存值确定出一组与该内存值更加匹配的音频播放参数,以实现对不同内
存的终端的音乐文件加载处理。
请参见图4,图4是本发明实施例提供的一种终端设备的结构示意图,具体
的,本发明实施例的所述终端设备可包括获取模块11、转码模块12以及加载模
块13。其中,
所述获取模块11,用于获取当前应用场景下终端设备的目标内存值,并从
预置的内存阈值表中查找出与所述目标内存值对应的目标音频播放参数。
需要说明的是,本发明实施例的所述终端设备(简称终端)可具体为智能
手机(如Android手机、iOS手机等)、平板电脑、移动互联网设备(MobileInternet
Devices,简称“MID”)、个人数字助理(PersonalDigitalAssistant,简称“PDA”)
等终端。
具体实施例中,终端设备或该终端设备对应的服务器中预先设置有包括多
个内存值及其对应的音频播放参数的内存阈值表,该内存阈值表中每一个内存
值对应一组音频播放参数(可以是多个内存值对应一组音频播放参数)。其中,
每组音频播放参数可包括采样率、比特率等参数。
具体的,当获取模块11检测到终端运行某一需要加载音乐文件的应用如游
戏应用时,即可获取得到当前应用场景下该终端的目标内存值,并从该预置的
内存阈值表中查找出与该目标内存值匹配的内存值,以及从该内存阈值表中确
定出该内存值对应的音频播放参数即目标音频播放参数,以根据该目标音频播
放参数对当前应用场景的音乐文件进行处理。其中,该目标内存值可以是指终
端当前占用内存值,或者是终端当前的可用内存值。与该目标内存值匹配的内
存值可以是该内存阈值表中与该目标内存值相同的内存值,或者,还可以是该
内存阈值表中与该目标内存值的差的绝对值最小的内存值,或者,还可以是该
内存阈值表中的一个内存值区间(该目标内存值处于该内存值区间范围内,该
内存值区间的所有内存值对应一组音频播放参数)。
所述转码模块12,用于按照所述获取模块11查找出的所述目标音频播放参
数对所述应用场景下的音乐文件进行转码处理,获得目标音乐文件。
具体的,该获取模块11确定出的目标音频播放参数即可作为需要转换的音
乐文件的播放参数,转码模块12可根据该参数对当前应用场景下的音乐文件(原
始音乐文件),如游戏应用场景下的原始音乐文件进行转码处理,获得该目标音
乐文件,而不会对原始音乐文件进行修改,从而无需重新打包发布应用版本,
节省了成本。
所述加载模块13,用于将所述转码模块12获得的所述目标音乐文件加载到
所述应用场景中。
当转码模块12转换得到目标音乐文件之后,即可通过加载模块13将该目
标音乐文件加载到当前应用场景如游戏应用场景中进行播放,并运行该游戏应
用。
在本发明实施例中,可通过获取当前应用场景下终端设备的目标内存值,
并从预置的内存阈值表中查找出与该目标内存值对应的音频播放参数,从而根
据该查找出的音频播放参数对该应用场景下的音乐文件进行转码处理,生成一
个与该音频播放参数对应的目标音乐文件,以将该目标音乐文件加载到该应用
场景中进行播放,使得能够针对不同内存的终端进行对应的音乐文件加载处理,
灵活性较高,且无需重新打包发布,使得节省了应用设计人员及终端用户等相
关用户的时间。
进一步的,请参见图5,图5是本发明实施例提供的另一种终端设备的结构
示意图,具体的,本发明实施例的所述终端设备可包括上述的终端设备的获取
模块11、转码模块12以及加载模块13。进一步的,在本发明实施例中,所述
终端设备还可包括:
监控模块14,用于监控所述应用场景下所述终端设备所有的实时可用内存
值;
筛选模块15,用于从所述监控模块14监控到的所有的实时内存值中筛选出
最小实时可用内存值;
信息发送模块16,用于将所述最小实时可用内存值以及所述目标音频播放
参数发送至服务器,以使所述服务器根据所述最小实时可用内存值对预置的内
存阈值表中所述目标音频播放参数对应的内存值进行更新。
具体实施例中,在将该目标音乐文件加载到当前应用场景如游戏应用场景
之后,即可通过监控模块14对该游戏运行过程中的实时可用内存值进行监控。
具体的,当进入第一个界面,游戏启动完成之后,可通过监控模块14对终端设
备的可用内存进行监控,监控该游戏运行过程中的所有的实时可用内存值(具
体可通过监控终端所有实时内存占用值,并根据终端内存总量计算得到该实时
内存占用值对应的实时可用内存值)。当游戏结束后,筛选模块15即可从该监
控模块14监控到的内存值中筛选出最小实时可用内存值,并通过信息发送模块
16上报给服务器,具体可在下一次启动游戏时再上报服务器。该上报的内容包
括该最小实时可用内存值、目标音频播放参数,以使所述服务器根据该最小实
时可用内存值对内存阈值表中该目标音频播放参数对应的内存值进行更新,从
而提升内存值与音频播放参数的对应关系的准确性。其中,该目标音频播放参
数可具体包括目标采样率和目标比特率。
进一步可选的,在本发明实施例中,所述目标音频播放参数包括目标采样
率和目标比特率;则所述转码模块12可具体包括(图中未示出):
信息获取单元121,用于获取所述应用场景下的音乐文件的当前采样率和当
前比特率;
文件生成单元122,用于以所述信息获取单元121获取的所述当前采样率和
所述当前比特率为依据,对所述音乐文件进行转码处理,生成所述目标采样率
和所述目标比特率对应的目标音乐文件。
具体实施例中,终端设备还需通过信息获取单元121获取当前应用场景如
游戏应用场景下的音乐文件的当前采样率和当前比特率,即原始的游戏音乐文
件的采样率和比特率。在获取得到该当前采样率、当前比特率、目标采样率和
目标比特率之后,文件生成单元122即可对该原始的游戏音乐文件进行转码处
理,生成该目标采样率和目标比特率对应的目标音乐文件。
进一步的,在本发明实施例中,所述终端设备还包括(图中未示出):
配置模块17,用于为所述目标应用配置多媒体转码框架;
所述转码模块12可具体用于:
接收与所述多媒体转码框架对应的转码命令;响应所述转码命令,并按照
所述目标音频播放参数对所述应用场景下的音乐文件进行转码处理,获得目标
音乐文件。
进一步的,可通过配置模块17预先为该应用场景下的应用如游戏应用配置
多媒体转码框架,即在游戏应用中集成多媒体转码框架。其中,该多媒体转码
框架可包括但不限于FFMPEG、GStreamer等等。则转码模块12可在接收到与
该多媒体转码框架对应的转码命令如FFMPEG转码命令时,获取该游戏应用场
景下的音乐文件即原始的游戏音乐文件的采样率和比特率,从而对该原始的游
戏音乐文件进行转码处理,生成该目标采样率和所述目标比特率对应的目标音
乐文件,并将该目标音乐文件加载到游戏中,并运行该游戏应用。也就是说,
本发明实施例是通过另外生成一个音乐文件来进行音乐文件的加载处理的,而
无需对原始的游戏音乐文件进行修改,即无需重新打包发布游戏版本。
可选的,所述获取模块11可具体包括(图中未示出):
第一请求单元111,用于向服务器发送携带所述终端设备的设备型号和/或
所述应用场景的场景信息的参数请求;
第一接收单元112,用于接收所述服务器响应所述参数请求返回的与所述设
备型号和/或所述应用场景对应的内存阈值表,所述内存阈值表中包括至少一个
内存值以及每一个所述内存值对应的音频播放参数;
参数确定单元113,用于获取当前应用场景下终端设备的目标内存值,从所
述第一接收单元接收的所述内存阈值表中查找出与所述目标内存值匹配的内存
值,以及从所述内存阈值表中确定出所述匹配的内存值对应的目标音频播放参
数。
其中,该目标内存值可以是指终端当前占用内存值,或者是终端当前的可
用内存值,本发明实施例以该目标内存值为该可用内存值为例进行说明。
可选的,所述获取模块11也可包括(图中未示出):
第二请求单元114,用于获取当前应用场景下终端设备的目标内存值,向服
务器发送携带所述终端设备的设备型号、所述应用场景的场景信息及所述目标
内存值的参数请求,以使所述服务器从所述设备型号及所述应用场景对应的内
存阈值表中查找出与所述目标内存值匹配的内存值,以及从所述内存阈值表中
确定出所述匹配的内存值对应的目标音频播放参数;
第二接收单元115,用于接收所述服务器响应所述参数请求返回的目标音频
播放参数。
具体的,服务器中存储有各种设备型号的终端设备和/或应用场景对应的内
存阈值表。例如,由于不同终端设备能够使用的音乐文件的采样率和比特率不
同,则可根据不同终端设备的设备型号在服务器预置得到包括有多个内存值以
及与每一个内存值对应的采样率和比特率的内存阈值表。则终端设备可通过第
一请求单元111向服务器发送的携带设备型号和/或应用场景的场景信息的内存
阈值表请求,服务器即可根据该设备型号和/或应用场景的场景信息查找出与该
设备型号对应的内存阈值表作为该请求的终端设备的内存阈值表,并发送给该
终端设备,终端设备通过第一接收单元112接收该内存阈值表,参数确定单元
113即可从该内存阈值表中查找与当前目标内存值对应的目标音频播放参数。或
者,终端还可通过第二请求单元114向服务器发送设备型号及当前的目标内存
值,当前应用场景及目标内存值,或设备型号、当前应用场景及目标内存值这
三种组合中的任一种组合参数,使得服务器获取到与该设备型号和/或应用场景
对应的内存阈值表,并从该内存阈值表中查找出与该目标内存值匹配的内存值,
以及从该内存阈值表中确定出该内存值对应的音频播放参数即目标音频播放参
数,从而将该目标音频播放参数发送给终端设备,终端设备通过第二接收单元
115接收该服务器返回的音频播放参数。
进一步的,所述信息发送模块16可具体用于:
将所述设备型号、所述应用场景的场景信息、所述最小实时可用内存值以
及所述目标音频播放参数发送至服务器,以使所述服务器根据所述最小实时可
用内存值对所述设备型号及所述应用场景对应的内存阈值表中所述目标音频播
放参数对应的内存值进行更新。
进一步的,若该内存阈值表是根据终端设备的设备型号和/或应用场景预置
得到的,还可通过信息发送模块16进一步将该终端设备的设备型号和/或当前应
用场景的场景信息发送给服务器,以使服务器对该设备型号和/或应用场景对应
的内存阈值表中该目标采样率和目标比特率对应的内存值进行更新,从而进一
步提升内存值与音频播放参数的对应关系的准确性,使得后续在进行音乐文件
加载时的能够根据终端当前的可用内存值确定出一组与该内存值更加匹配的音
频播放参数。
在本发明实施例中,可通过获取当前应用场景下终端设备的目标内存值,
并从该内存阈值表中查找出与该目标内存值对应的采样率和比特率,从而根据
该查找出的采样率和比特率以及原始的游戏音乐文件的当前采样率和当前比特
率对该原始的游戏音乐文件进行转码处理,生成一个与该查找出的采样率和比
特率对应的游戏音乐文件即目标音乐文件,从而将该目标音乐文件加载到当前
游戏应用场景中进行播放,并运行游戏。本发明实施例能够针对不同内存的终
端进行对应的游戏音乐文件加载处理,灵活性较高,而无需对原始的游戏音乐
文件进行修改,无需重新打包发布游戏版本,使得节省了游戏设计人员及终端
用户等相关用户的时间,并减小了对游戏生命周期的影响,节省了游戏开发成
本。
请参见图6,图6是本发明实施例提供的一种服务器的结构示意图,具体的,
本发明实施例的所述服务器可包括信息接收模块21以及更新模块22。其中,
所示信息接收模块21,用于接收终端设备发送的最小实时可用内存值以及
目标音频播放参数,所述最小实时可用内存值是所述终端设备在当前应用场景
下所有的实时可用内存值中最小的内存值;
所述更新模块22,用于根据所述最小实时可用内存值对预置的内存阈值表
中所述目标音频播放参数对应的内存值进行更新。
其中,所述内存阈值表中包括至少一个内存值以及每一个所述内存值对应
的音频播放参数。
具体实施例中,在信息接收模块21接收到该终端设备发送的内存值和音频
播放参数即目标音频播放参数之后,更新模块22即可从预置的内存阈值表中查
找出与该目标音频播放参数匹配的音频播放参数,以及从该内存阈值表中确定
出该匹配的音频播放参数对应的内存值,从而根据该接收的最小实时可用内存
值对该确定出的内存值进行更新,从而提升该内存阈值表中音频播放参数与内
存值对应关系的准确性。
进一步的,在可选的实施例中,所述服务器还可包括(图中未示出):
信息获取模块23,用于获取所述终端设备的设备型号和/或所述应用场景的
场景信息;
所述更新模块22可具体包括(图中未示出):
查找单元221,用于从已存储的至少一个内存阈值表中查找出所述设备型号
和/或所述应用场景对应的内存阈值表,以及查找出所述内存阈值表中与所述目
标音频播放参数匹配的音频播放参数;
信息更新单元222,用于根据所述最小实时可用内存值对所述内存阈值表中
所述匹配的音频播放参数对应的内存值进行更新。
进一步的,所述信息更新单元222可具体用于:
将所述内存阈值表中所述匹配的音频播放参数对应的内存值作为初始内存
值,并将所述初始内存值与所述最小实时可用内存值进行比较;若所述初始内
存值低于所述最小实时可用内存值,则调高所述初始内存值;若所述初始内存
值高于所述最小实时可用内存值,则调低所述初始内存值。
也就是说,服务器在根据接收的终端设备发送的内存值即最小实时可用内
存值相应内存阈值表如终端设备的设备型号和/或所述应用场景对应的内存阈值
表中该目标音频播放参数对应的内存值(初始内存值)进行更新时,即可根据
预设的算法确定一个该初始内存值与该最小实时可用内存值的中间值,并将该
中间值与该目标音频播放参数进行对应存储,以实现对该内存值的调整。
在本发明实施例中,服务器可在接收到终端设备发送的内存值及音频播放
参数时,根据该接收的内存值对预置的内存阈值表中该接收的音频播放参数对
应的内存值进行更新,从而进一步提升了音频播放参数与内存值的对应关系的
准确性,使得后续在进行音乐文件加载时能够根据终端当前的可用内存值确定
出一组与该内存值更加匹配的音频播放参数,以实现对不同内存的终端的音乐
文件加载处理。
进一步的,请参见图7,是本发明实施例提供的一种音乐文件加载系统的结
构示意图,具体的,如图7所示,本发明实施例的所述系统包括:终端设备10
和服务器20。其中,
所述终端设备10,用于获取当前应用场景下终端设备的目标内存值,并从
预置的内存阈值表中查找出与所述目标内存值对应的目标音频播放参数;按照
所述目标音频播放参数对所述应用场景下的音乐文件进行转码处理,获得目标
音乐文件;监控所述应用场景下所述终端设备所有的实时可用内存值,并从监
控到的所有的实时内存值中筛选出最小实时可用内存值;将所述最小实时可用
内存值以及所述目标音频播放参数发送至服务器20;
所述服务器20,用于接收终端设备10发送的最小实时可用内存值以及目标
音频播放参数,所述最小实时可用内存值是所述终端设备在当前应用场景下所
有的实时可用内存值中最小的内存值;根据所述最小实时可用内存值对预置的
内存阈值表中所述目标音频播放参数对应的内存值进行更新。
其中,所述内存阈值表中包括至少一个内存值以及每一个所述内存值对应
的音频播放参数,所述目标内存值可以具体为终端设备的当前可用内存值。
具体的,该从预置的内存阈值表中查找出与所述目标内存值对应的目标音
频播放参数的方式可以是终端设备10向服务器20请求内存阈值表,从而从该
内存阈值表中查找出该目标内存值对应的目标音频播放参数,或者可以是向服
务器直接请求该目标内存值对应的目标音频播放参数,等等,具体可参照上述
实施例的相关描述,此处不再赘述。
进一步的,该内存阈值表还可以是根据终端设备的设备型号和/或应用场景
预置得到的。若该内存阈值表是根据终端设备的设备型号和/或应用场景预置得
到的,则终端设备10还可进一步将该终端设备的设备型号和/或当前应用场景的
场景信息发送给服务器20,则服务器20可根据该最小实时可用内存值对该设备
型号和/或应用场景对应的内存阈值表中该目标音频播放参数对应的内存值进行
更新。从而进一步提升内存值与音频播放参数的对应关系的准确性,使得后续
在进行音乐文件加载时能够根据终端当前的可用内存值确定出一组与该内存值
更加匹配的音频播放参数,以实现对不同内存的终端的音乐文件加载处理。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详
述的部分,可以参见其他实施例的相关描述。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具
体实施例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、
结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,
对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的
具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的
方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书
中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表
示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码
的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其
中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或
按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员
所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认
为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机
可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处
理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)
使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算
机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行
系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算
机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线
的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),
只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光
纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至
可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸
或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行
处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。
在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执
行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方
式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有
用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合
逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)
等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部
分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计
算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,
也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块
中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的
形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品
销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示
出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理
解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实
施例进行变化、修改、替换和变型。