发明内容
本发明实施例提供了一种为音乐专辑内歌曲生成音轨号的方法、装置及终端,以使得一原本包含有有音轨号和无音轨号歌曲的音乐专辑,在采用本技术方案为无音轨号的歌曲分配音轨号后,避免出现过多音轨号重复的歌曲,进一步提升用户的视觉体验。
一方面,本发明实施例提供了一种为音乐专辑内歌曲生成音轨号的方法,该方法包括:
遍历音乐专辑内歌曲,获取所述音乐专辑内已有音轨号歌曲的音轨号;
将预先设定的备选音轨号中与所获取音轨号相同的音轨号去除,得到可用音轨号;
从所述可用音轨号中确定所述音乐专辑内未有音轨号歌曲的音轨号,并将所确定的音轨号分配给未有音轨号的歌曲。
另一方面,本发明实施例还提供了一种为音乐专辑内歌曲生成音轨号的装置,该装置包括:
确定模块,用于遍历音乐专辑内歌曲,获取所述音乐专辑内已有音轨号歌曲的音轨号;
处理模块,用于将预先设定的备选音轨号中与所获取音轨号相同的音轨号去除,得到可用音轨号;
分配模块,用于从所述可用音轨号中确定所述音乐专辑内未有音轨号歌曲的音轨号,并将所确定音轨号分配给未有音轨号的歌曲。
再一方面,本发明实施例还提供了一种终端,该终端包含有上述为乐专辑内歌曲生成音轨号的装置。
本发明实施例的有益效果包括:
本发明实施例提供的一种为音乐专辑内歌曲生成音轨号的方法、装置及终端,在为专辑内为有音轨号的歌曲分配音轨号时,首先获取音乐专辑内已有音轨号歌曲的音轨号,然后将备选音轨号中与所获取音轨号相同的音轨号去除得到可用音轨号,之后,从可用音轨号中确定音乐专辑内未有音轨号歌曲的音轨号,并将所选择的音轨号分配给未有音轨号的歌曲;以确保在为未有音轨号的歌曲分配音轨号时,选择备选音轨号中除去已被使用的音轨号的音轨号,避免专辑内出现过多重复音轨号的歌曲,从而也可以提升用户视觉体验。
具体实施方式
下面结合附图,对本发明实施例提供的为音乐专辑内歌曲分配音轨号的方法、装置及终端的具体实施方式进行详细地说明。
本发明实施例提供的一种为音乐专辑内歌曲分配音轨号的方法,如图1所示,具体包括以下步骤:
步骤101、遍历音乐专辑内歌曲,获取音乐专辑内已有音轨号歌曲的音轨号;
步骤102、将预先设定的备选音轨号中与所获取音轨号相同的音轨号去除,得到可用音轨号;
步骤103、从可用音轨号中确定音乐专辑内未有音轨号歌曲的音轨号,并将所确定的音轨号分配给未有音轨号的歌曲。
本发明实施例在为专辑内为有音轨号的歌曲分配音轨号时,首先获取音乐专辑内已有音轨号歌曲的音轨号,然后将备选音轨号中与所获取音轨号相同的音轨号去除得到可用音轨号,之后,从可用音轨号中确定音乐专辑内未有音轨号歌曲的音轨号,并将所确定的音轨号分配给未有音轨号的歌曲;以确保在为未有音轨号的歌曲分配音轨号时,选择备选音轨号中除去已被使用的音轨号的音轨号,避免专辑内出现过多重复音轨号的歌曲,从而也可以提升用户视觉体验。
下面结合具体的实施方式对上述为音乐专辑内歌曲分配音轨号的实现做进一步的说明,具体参见图2,可以包括如下操作步骤:
步骤201、遍历音乐专辑内歌曲,获取音乐专辑内已有音轨号歌曲的音轨号;
本实例中,遍历音乐专辑,将音乐专辑内在专辑制作之时为歌曲分配的音轨号提取出来即可;例如,本示例所述的音乐专辑收录有十首歌曲,本实例用歌曲名的首字母来标识不同的歌曲,该十首歌曲的歌曲名的首字母分别为A、A’、B、B’、C、D、E、F、F’及G,而为了区分歌曲名首字母相同的歌曲,这里将首字母重复的歌曲用“’”标识;在该专辑被录制制作之时,专辑内首字母为A、A’、E、F、F’的歌曲被分配有音轨号,分别被分配的音轨号为1、2、2、3及4,另外的5首歌曲并未分配有音轨号;执行步骤201时,只需从音乐专辑内歌曲的音轨号属性内提取出已有音轨号歌曲的音轨号即可,这里,提取到的音轨号为1、2、2、3及4。
这里需要说明的是,一音乐专辑在被录制制作之时为歌曲所分配的音轨号一般情况下不会出现重复,也即不会出现上述示例中首字母为A’和E的歌曲的音轨号均为2的情况,但是,特殊情况下,如分配音轨号出错或人为修改了音轨号等情况,则会出现上例中首字母为A’和E的歌曲的音轨号均为2的情况;本实例以下均采用该特殊情况下的实例来进行详细的说明,一般情况下的实现与此类似,不再赘述。
步骤202、将预先设定的备选音轨号中与所获取音轨号相同的音轨号去除,得到可用音轨号;
本实例具体实现时,预先设定的备选音轨号可以是从1开始的自然数序列,则将备选音轨号中与所确定的音轨号相同的音轨号去除就可以为:将自然数序列中与所确定的音轨号数值相同的自然数去除,以得到可用音轨号。
沿用上例,这里将从1开始的自然数序列中的1、2、3、4去除后的自然数序列作为备选的音轨号,也即,从5开始的自然数序列为本示例中备选的音轨号。
步骤203、从可用音轨号中确定音乐专辑内未有音轨号歌曲的音轨号,并将所确定的音轨号分配给未有音轨号的歌曲;
本实例具体实现时,可以按照预设规则来将所确定的音轨号分配给未有音轨号的歌曲,例如,将音乐专辑内未有音轨号的歌曲按其歌曲名的首字母在字母表中的顺序进行排列;将可用音轨号进行排序;从排序后的可用音轨号中依次为排序后的未有音轨号的歌曲选择和分配音轨号。
本实例在具体实现时,可以将音乐专辑内未有音轨号的歌曲按其歌曲名的首字母在字母表中的顺序进行增序排列,同时,将可用音轨号进行增序排序。
进一步地,本实例将所述音乐专辑内未有音轨号的歌曲按其歌曲名的首字母在字母表中的顺序进行排列的过程中,如果存在首字母相同的未有音轨号的歌曲,则将首字母相同的未有音轨号的歌曲按照其歌曲名首字母之后的字母在字母表中的顺序进行排序,例如,当存在两个首字母相同的未有音轨号的歌曲,则可以按照这两首歌曲歌曲名的第二个字母在字母表中的顺序进行排序,如第二个字母依然相同,则按照这两首歌曲歌曲名的第三个字母在字母表中的顺序进行排序,依此类推来进行排序。本实例在具体实现时,如果两首歌曲的前N个字母均相同,则可以按照这两首歌曲的歌曲名的长度来进行排序,例如,将歌曲名长度较小的排列在前,歌曲名长度较大的排列在后,沿用上例,如果首字母为B的B和B’两首歌曲的歌曲名的前N个字母均相同,但歌曲B的歌名长度为N,歌曲B’的歌名长度为M,这里,M>N,则可以将B排在B之前。以上仅是以存在两个首字母相同的未有音轨号的歌曲的排序为例进行了说明,当存在三个或以上更多首字母相同的未有音轨号的歌曲时,其排序方式与此相同,不再赘述。
依然沿用上例,将示例专辑内未有音轨号的首字母为B、B’、C、D、E及G歌曲按其首字母在字母表中的顺序进行排序,这里,存在有首字母均为B的B及B’的两首歌曲,按照本实例的实现方式,将首字母为B及B’的歌曲按照这两首歌曲歌曲名的第二个字母在字母表中的顺序进行排序,如依然相同则按照这两首歌曲歌曲名的第三个字母在字母表中的顺序进行排序,依此类推。如果两首歌曲的前N个字字母均相同,但歌曲A的歌名长度为N,歌曲B的歌名长度为M(M>N),B排在B’之前。那么,按歌曲首字母在字母表中增序进行排序后的未有音轨号的歌曲为B、B’、C、D、E及G;将处理后的备选音轨号按增序的顺序排列后为5、6、7、8、9、……;这里,依次将5、6、7、8、及9依次分给首字母为B、B’、C、D、E及G歌曲作为音轨号。
本发明实施例在为专辑内为有音轨号的歌曲分配音轨号时,首先获取音乐专辑内已有音轨号歌曲的音轨号,然后将备选音轨号中与所获取音轨号相同的音轨号去除得到可用音轨号,之后,从可用音轨号中确定音乐专辑内未有音轨号歌曲的音轨号,并将所确定的音轨号分配给未有音轨号的歌曲;以确保在为未有音轨号的歌曲分配音轨号时,选择备选音轨号中除去已被使用的音轨号的音轨号,避免专辑内出现过多重复音轨号的歌曲,从而也可以提升用户视觉体验。
采用上例为专辑内未有音轨号的歌曲分配了音轨号后,当用户选择按音轨号对专辑内的歌曲进行排序时,本实例还可以进一步包括步骤204。
步骤204、将音乐专辑内已有音轨号的歌曲和后续分配得到音轨号的歌曲按其音轨号进行排序后显示。
本实例具体实现时,将音乐专辑内已有音轨号的歌曲和后续分配得到音轨号的歌曲按其音轨号进行增序排序后显示。
这里,在对音乐专辑内已有音轨号的歌曲和后续分配得到音轨号的歌曲按其音轨号进行增序排序的过程中,如果出现音轨号相同的歌曲,则音轨号相同的歌曲按其首字母在字母表中的顺序进行排序。更进一步地,如果音轨号相同的歌曲其歌曲名首字母也相同,则将首字母相同的具有音轨号的歌曲按照其歌曲名首字母之后的字母在字母表中的顺序进行排列,具体则与上述首字母相同的未有音轨号的歌曲的排列方式相同,此处就不再赘述。
依然沿用上例,将音乐专辑内已有音轨号的歌曲和后续分配得到音轨号的歌曲按其音轨号进行增序排序后显示的情况可以如表1所示。
表1
音轨号 |
歌曲 |
1 |
歌曲名首字母为A的歌曲 |
2 |
歌曲名首字母为A’的歌曲 |
2 |
歌曲名首字母为E的歌曲 |
3 |
歌曲名首字母为F的歌曲 |
4 |
歌曲名首字母为F’的歌曲 |
5 |
歌曲名首字母为B的歌曲 |
6 |
歌曲名首字母为B’的歌曲 |
7 |
歌曲名首字母为C的歌曲 |
8 |
歌曲名首字母为D的歌曲 |
9 |
歌曲名首字母为G的歌曲 |
这里,需要说明的是,目前现有的音乐播放器一般都具有对所播放的音乐进行排序的功能,在音乐专辑内有些歌曲有音轨号,有些歌曲无音轨号的情况下,目前现有的分配音轨号及排序的方式为:先将有音轨号的歌曲按照音轨号递增显示,然后将无音轨的歌曲根据歌曲名首字母在字母表内的顺序顺序分配音轨号,并在原有有音轨号的歌曲之后递增显示,上例专辑内的歌曲按目前现有的分配音轨号及排序的方式进行处理后如表2所示。
表2
音轨号 |
歌曲 |
1 |
歌曲名首字母为A的歌曲 |
2 |
歌曲名首字母为A’的歌曲 |
2 |
歌曲名首字母为E的歌曲 |
3 |
歌曲名首字母为F的歌曲 |
4 |
歌曲名首字母为F’的歌曲 |
1 |
歌曲名首字母为B的歌曲 |
2 |
歌曲名首字母为B’的歌曲 |
3 |
歌曲名首字母为C的歌曲 |
4 |
歌曲名首字母为D的歌曲 |
5 |
歌曲名首字母为G的歌曲 |
由表2可以看出,按照目前现有的分配音轨号及排序的方式对仅有部分歌曲具有音轨号的专辑进行处理,对未有音轨号分配音轨号后会出现过多重复的音轨号(在专辑内歌曲两较大时体现会更明显),且现有的音轨号排序方式使得专辑内的歌曲也不是按照音轨号严格递增的,用户的视觉体验很差。而由表1的对比可以看出,采用本实例所提供技术方案的处理方式则可以避免上述问题的出现。
基于同一发明构思,本发明实施例还提供了一种为音乐专辑内歌曲生成音轨号的装置及终端,由于该装置及终端解决问题的原理与前述一种为音乐专辑内歌曲生成音轨号的方法相似,因此该装置和终端的实施可以参见方法的实施,重复之处不再赘述。
本发明实施例提供的一种为音乐专辑内歌曲生成音轨号的装置,如图3所示,包括:
确定模块301,用于遍历音乐专辑内歌曲,获取音乐专辑内已有音轨号歌曲的音轨号;
处理模块302,用于将预先设定的备选音轨号中与所获取音轨号相同的音轨号去除,得到可用音轨号;
分配模块303,用于从可用音轨号中确定音乐专辑内未有音轨号歌曲的音轨号,并将所确定的音轨号分配给未有音轨号的歌曲。
本发明实施例中,处理模块302,可以具体用于将自然数序列中与所获取的音轨号数值相同的自然数去除,得到可用音轨号。
参见图4,本实例如图3所示的分配模块303包括:
第一排列单元3031,用于将音乐专辑内未有音轨号的歌曲按其歌曲名的首字母在字母表中的顺序进行排列;
第二排列单元3032,用于将可用音轨号进行排序;
分配单元3033,用于从排序后的可用音轨号中依次为排序后的未有音轨号的歌曲选择和分配音轨号。
其中,第一排列单元3031,可具体用于将音乐专辑内未有音轨号的歌曲按其歌曲名的首字母在字母表中的顺序进行排序,排序过程中,如果存在首字母相同的未有音轨号的歌曲,则将首字母相同的未有音轨号的歌曲按照其歌曲名首字母之后的字母在字母表中的顺序进行排序,例如,当存在两个首字母相同的未有音轨号的歌曲,按照这两首歌曲歌曲名的第二个字母在字母表中的顺序进行排序,如依然相同,则按照这两首歌曲歌曲名的第三个字母在字母表中的顺序进行排序,依此类推来进行排序。本实例在具体实现时,如果两首歌曲的前N个字字母均相同,则可以按照这两首歌曲的歌曲名的长度来进行排序,例如,将歌曲名长度较小的排列在前,歌曲名长度较大的排列在后。
参见图5,本实例如图3所示的装置还包括:
排序显示模块304,用于将音乐专辑内已有音轨号的歌曲和后续分配得到音轨号的歌曲按其音轨号进行排序后显示。
本发明实施例还提供了一种终端,本发明实施例提供的上述调整终端文字的装置。该终端可以为手机、掌上电脑、ipad等各种终端。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
本发明实施例提供的一种为专辑内为有音轨号的歌曲分配音轨号的方法、装置及终端,本发明实施例在为专辑内为有音轨号的歌曲分配音轨号时,首先确定音乐专辑内已有音轨号歌曲的音轨号,然后将备选音轨号中与所确定的音轨号相同的音轨号去除,之后,从处理后的备选音轨号中选择作为音乐专辑内未有音轨号歌曲的音轨号,并将所选择的音轨号分配给未有音轨号的歌曲;以确保在为未有音轨号的歌曲分配音轨号时,选择备选音轨号中除去已被使用的音轨号的音轨号,避免专辑内出现过多重复音轨号的歌曲,从而也可以提升用户视觉体验。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。