发明内容
为了解决相关技术中推荐准确率较低的问题,本发明实施例提供了一种推荐歌曲的方法和装置。所述技术方案如下:
第一方面,提供了一种推荐歌曲的方法,所述方法包括:
确定目标终端对应的目标音量值;
根据预先存储的各歌曲的歌曲标识与适宜播放的音量值的对应关系,确定对应的音量值与所述目标音量值相匹配的各歌曲标识,其中,所述音量值包括歌曲播放音量值;
向所述目标终端发送确定出的各歌曲标识。
可选的,所述确定目标终端对应的目标音量值,包括:
当接收到目标终端发送的歌曲推荐请求时,确定目标终端对应的目标音量值。
可选的,所述当接收到目标终端发送的歌曲推荐请求时,确定目标终端对应的目标音量值,包括:
当接收到目标终端发送的携带有所述目标终端当前的音量值的歌曲推荐请求时,将所述歌曲推荐请求中携带的目标终端当前的音量值,确定为所述目标终端对应的目标音量值。
可选的,所述确定目标终端对应的目标音量值,包括:
获取历史时段内目标终端每当播放歌曲时发送的所述目标终端的音量值;
根据获取到的目标终端的各个音量值,计算所述目标终端对应的目标音量值。
可选的,所述根据获取到的目标终端的各个音量值,计算所述目标终端对应的目标音量值,包括:
计算获取到的目标终端的各个音量值的平均音量值,将所述平均音量值确定为所述目标终端对应的目标音量值;或者,
在获取到的目标终端的各个音量值中,确定出现次数最多的音量值,将出现次数最多的音量值确定为所述目标终端对应的目标音量值。
可选的,所述确定目标终端对应的目标音量值,包括:
获取目标终端对应的喜爱歌曲列表;
将所述喜爱歌曲列表中的每个歌曲对应的音量值,确定为目标终端对应的目标音量值。
可选的,所述方法还包括:
获取历史时段内每个终端在播放第一歌曲时发送的所述终端的音量值;
根据获取到的每个终端发送的所述终端的音量值,确定所述第一歌曲对应的音量值;
将所述第一歌曲的歌曲标识与确定出的音量值,对应添加到所述对应关系中。
可选的,所述音量值还包括以下音量值的一种或多种:
系统音量值、通话音量值、铃声音量值、提示音音量值。
第二方面,提供了一种推荐歌曲的装置,所述装置包括:
第一确定模块,用于确定目标终端对应的目标音量值;
第二确定模块,用于根据预先存储的各歌曲的歌曲标识与适宜播放的音量值的对应关系,确定对应的音量值与所述目标音量值相匹配的各歌曲标识,其中,所述音量值包括歌曲播放音量值;
发送模块,用于向所述目标终端发送确定出的各歌曲标识。
可选的,所述第一确定模块,用于:
当接收到目标终端发送的歌曲推荐请求时,确定目标终端对应的目标音量值。
可选的,所述第一确定模块,用于:
当接收到目标终端发送的携带有所述目标终端当前的音量值的歌曲推荐请求时,将所述歌曲推荐请求中携带的目标终端当前的音量值,确定为所述目标终端对应的目标音量值。
可选的,所述第一确定模块,用于:
获取历史时段内目标终端每当播放歌曲时发送的所述目标终端的音量值;
根据获取到的目标终端的各个音量值,计算所述目标终端对应的目标音量值。
可选的,所述第一确定模块,用于:
计算获取到的目标终端的各个音量值的平均音量值,将所述平均音量值确定为所述目标终端对应的目标音量值;或者,
在获取到的目标终端的各个音量值中,确定出现次数最多的音量值,将出现次数最多的音量值确定为所述目标终端对应的目标音量值。
可选的,所述第一确定模块,用于:
获取目标终端对应的喜爱歌曲列表;
将所述喜爱歌曲列表中的每个歌曲对应的音量值,确定为目标终端对应的目标音量值。
可选的,所述装置还包括:
获取模块,用于获取历史时段内每个终端在播放第一歌曲时发送的所述终端的音量值;
第三确定模块,用于根据获取到的每个终端发送的所述终端的音量值,确定所述第一歌曲对应的音量值;
添加模块,用于将所述第一歌曲的歌曲标识与确定出的音量值,对应添加到所述对应关系中。
可选的,所述音量值还包括以下音量值的一种或多种:
系统音量值、通话音量值、铃声音量值、提示音音量值。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例中,服务器在向终端推荐歌曲时,可以先确定目标终端对应的目标音量值,进而,可以在预先存储的各歌曲的歌曲标识与适宜播放的音量值的对应关系中,确定对应的音量值与目标音量值相匹配的歌曲标识,其中,音量值可以包括歌曲播放音量值。确定出歌曲标识后,可以向终端发送确定出的各歌曲标识。终端对应的目标音量值即是用户设置的,即终端对应的音量值作为用户属性,可以反映用户的偏好。这样,服务器确定出的歌曲标识更适合用户,用户对其进行播放的可能性更大,从而,可以提高推荐准确率。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种推荐歌曲的方法,该方法的执行主体为服务器。其中,该服务器可以是具有推荐歌曲功能的服务器,比如可以是歌曲播放类应用程序的后台服务器。服务器中可以设置有处理器、存储器和收发器,其中,处理器可以用于确定对应的音量值与目标音量值相匹配的各歌曲标识的相关处理,存储器可以用于存储下述处理过程中需要和产生的数据,收发器可以用于接收和发送数据。
下面将结合具体实施方式,对图1所示的处理流程进行详细的说明,内容可以如下:
步骤101,确定目标终端对应的目标音量值。
其中,目标终端可以是待推荐歌曲的终端。
在实施中,服务器中可以预先设置有推荐歌曲的触发机制,例如,可以预先设置有歌曲推荐触发事件。每当服务器检测到歌曲推荐触发事件发生时,可以确定目标终端对应的目标音量值。
可选的,歌曲推荐触发事件可以是接收到目标终端发送的歌曲推荐请求,相应的,步骤101的处理过程可以如下:当接收到目标终端发送的歌曲推荐请求时,确定目标终端对应的目标音量值。
在实施中,目标终端中可以安装有歌曲播放类应用程序,歌曲播放类应用程序可以提供有歌曲推荐功能。具体的,歌曲播放应用程序中可以设置有歌曲推荐选项,当目标终端检测到歌曲推荐选项的选取指令时,可以向服务器发送歌曲推荐请求,如图2所示。相应的,服务器可以接收目标终端发送的歌曲推荐请求,进而,可以确定目标终端对应的目标音量值。
可选的,基于确定目标音量值的方式不同,步骤101的处理方式可以多种多样,以下给出了几种可行的处理方式:
方式一,获取历史时段内目标终端每当播放歌曲时发送的目标终端的音量值;根据获取到的各个目标终端的音量值,计算目标终端对应的目标音量值。
在实施中,每当目标终端通过歌曲播放类应用程序播放歌曲时,可以获取目标终端当前的音量值,并可以向服务器发送目标终端当前的音量值。服务器接收到目标终端发送的音量值后,可以将目标终端的终端标识与音量值对应存储。
每当服务器检测到歌曲推荐触发事件发生时,可以获取历史时段内目标终端发送的目标终端的音量值,进而,可以基于获取到的目标终端的各个音量值,计算目标终端对应的目标音量值。
可选的,根据获取的目标终端的各个音量值,确定目标音量值的方法可以多种多样,以下给出了几种可行的处理方式:
方式(一),计算获取到的目标终端的各个音量值的平均音量值,将平均音量值确定为目标终端对应的目标音量值。
在实施中,获取到目标终端的各个音量值后,服务器可以计算各个音量值的平均音量值,进而,可以将计算出的平均音量值确定为目标终端对应的目标音量值。
方式(二),在获取到的目标终端的各个音量值中,确定出现次数最多的音量值,将出现次数最多的音量值确定为目标终端对应的目标音量值。
在实施中,获取到目标终端的各个音量值后,服务器可以在获取到目标终端的各个音量值中,确定出现次数最多的音量值,进而,可以将出现次数最多的音量值确定为目标终端对应的目标音量值。
方式二,当接收到目标终端发送的携带有目标终端当前的音量值的歌曲推荐请求时,将歌曲推荐请求中携带的目标终端当前的音量值,确定为目标终端对应的目标音量值。
在实施中,目标终端接收到歌曲推荐选项的选择指令后,可以获取目标终端当前的音量值,进而,可以向服务器发送携带有目标终端当前的音量值的歌曲推荐请求。相应的,服务器可以接收目标终端发送的歌曲推荐请求,并对其进行解析,获取其中携带的目标终端当前的音量值,进而,可以将目标终端当前的音量值,确定为目标终端对应的目标音量值。
此种处理方式适用于歌曲推荐触发事件为接收到目标终端发送的歌曲推荐请求的情况。
方式三,获取目标终端对应的喜爱歌曲列表;将喜爱歌曲列表中的每个歌曲对应的音量值,确定为目标终端对应的目标音量值。
在实施中,用户在使用歌曲播放类应用程序的过程中,对自己喜欢的歌曲还可以进行标记。相应的,服务器中会存储有目标终端的终端标识与喜爱歌曲列表的对应关系,其中,终端标识可以是终端的标识(比如可以是终端的电子序列号),也可以是目标终端当前登录账户的账户标识。此种情况下,服务器当检测到歌曲推荐触发事件发生时,可以获取目标终端对应的喜爱歌曲列表,进而,可以在预先存储的歌曲标识与适宜播放的音量值的对应关系中,确定喜爱歌曲列表中的每个歌曲对应的音量值,进而,可以将确定出的每个歌曲对应的音量值,确定为目标终端对应的目标音量值。
步骤102,根据预先存储的各歌曲的歌曲标识与适宜播放的音量值的对应关系,确定对应的音量值与目标音量值相匹配的各歌曲标识,其中,音量值包括歌曲播放音量值。
在实施中,服务器中可以预先存储有各歌曲的歌曲标识与适宜播放的音量值的对应关系,如表1所示,其中,音量值可以是歌曲播放音量值,即播放歌曲的音量值。
确定出目标终端对应的目标音量值后,服务器可以获取预先存储的各歌曲的歌曲标识与适宜播放的音量值的对应关系,进而,可以在上述对应关系中,确定与目标音量值相匹配的音量值(即可以在上述对应关系中,确定与目标音量值的差值的绝对值小于预设数值的音量值),例如,预设数值为5%,服务器可以计算表1中的每个音量值与目标音量值的差值,并可以将对应的差值的绝对值小于5%的音量值,确定为与目标音量值相匹配的音量值,由表1可见,确定出的音量值为15%、13%、16%。确定出音量值后,可以在上述对应关系中,确定音量值对应的各歌曲标识。
表1
歌曲标识 |
适宜播放的音量值 |
歌曲1 |
15% |
歌曲2 |
35% |
歌曲3 |
13% |
歌曲4 |
16% |
可选的,音量值除包括歌曲播放音量值外,还可以包括以下音量值的一种或多种:系统音量值、通话音量值、铃声音量值、提示音音量值。此种情况下,服务器中可以预先存储有各个音量值与歌曲标识的对应关系。
在实施中,对于上述对应关系中每个歌曲对应的音量值,可以是各个终端在播放该歌曲时发送的终端的音量值,详细过程将在后续表述。终端在获取终端的音量值时,可以通过终端的系统函数来获取。具体的,对于android(安卓)系统的终端,可以通过AudioManager(其中,AudioManager是一种系统函数的名称)读取各项音量信息,即可以将各个音量类型作为AudioManager的参数,来获取相应的音量值,例如,可以通过STREAM_VOICE_CALL获取通话音量值,通过STREAM_SYSTEM获取系统音量值,通过STREAM_RING获取铃声音量值,通过STREAM_MUSIC获取歌曲播放音量值,通过STREAM_ALARM获取提示音音量值,其中,STREAM_VOICE_CALL、STREAM_SYSTEM、STREAM_RING、STREAM_MUSIC、STREAM_ALARM是音量类型的名称。又例如,对于ios(其中,ios是一种系统名称)系统的终端,可以通过MPVolume(其中,MPVolume是一种系统函数名称)获取MPVolumeSlider,读取其中的音量值,得到歌曲播放音量值。
另外,服务器中可以预先存储有各个音量类型对应的权值,对应关系中的音量值可以是上述各个音量值的加权和。针对服务器中预先存储有各歌曲的歌曲标识与各个音量值的对应关系的情况,对于每个音量类型下的目标音量值,服务器可以在上述对应关系中确定对应的音量值与该目标音量值相匹配的各歌曲标识。确定出每个目标音量值对应的各歌曲标识后,可以将所有的歌曲标识作为最终向目标终端发送的歌曲标识。也就是说,针对对应关系中包含多个音量类型的音量值的情况,对于每个音量类型,服务器可以分别确定对应的音量值与该音量类型下的目标音量值相匹配的歌曲标识,得到该音量类型对应的歌曲标识,最后,服务器可以把各音量类型对应的歌曲标识发送给目标终端。
可选的,服务器得到上述对应关系的具体处理过程可以如下:获取历史时段内每个终端在播放第一歌曲时发送的该终端的音量值;根据获取到的每个终端发送的该终端的音量值,确定第一歌曲对应的音量值;将第一歌曲的歌曲标识与确定出的音量值,对应添加到对应关系中。
在实施中,每个安装有歌曲播放类应用程序的终端每当播放歌曲时,均会获取终端的音量值,并将其发送至服务器。也就是说,对于任一歌曲(可称为第一歌曲),服务器中可以存储有每个终端在播放第一歌曲时发送的该终端的音量值。
服务器可以获取历史时段内每个终端在播放第一歌曲时发送的该终端的音量值,进而,可以计算获取到的每个终端发送的音量值的平均音量值。得到平均音量值后,可以将平均音量值确定为第一歌曲对应的音量值,即可以将第一歌曲的歌曲标识与确定出的音量值对应添加到对应关系中。
另外,服务器还可以向目标终端推荐歌单,即服务器还可以向目标终端推荐歌曲集合,相应的,步骤102的处理过程可以如下:根据预先存储的各歌曲的歌曲标识与适宜播放的音量值的对应关系,确定对应的音量值与目标音量值相匹配的各歌单标识。
在实施中,服务器中可以预先存储有歌单推荐触发事件,例如,歌单推荐触发事件为接收到目标终端发送的歌单推荐请求。每当服务器检测到歌单推荐触发事件发生时,服务器可以确定目标终端对应的目标音量值。确定出目标音量值后,对于每个歌单,服务器可以获取预先存储的各歌曲的歌曲标识与适宜播放的音量值的对应关系、以及该歌单包含的各歌曲的歌曲标识,进而,可以在上述对应关系中,确定该歌单包含的歌曲对应的音量值,并计算该歌单包含的歌曲对应的音量值的平均音量值,将得到的平均音量值确定为该歌单对应的音量值。得到每个歌单对应的音量值后,服务器可以确定对应的音量值与目标音量值相匹配的各歌单,进而,服务器可以向目标终端发送确定出的各歌单包含的各歌曲标识或者各歌单标识。也就是说,服务器可以根据预先存储的各歌曲的歌曲标识与适宜播放的音量值的对应关系、以及各歌单包含的歌曲的歌曲标识,确定各歌单对应的音量值;根据各歌单对应的音量值,确定对应的音量值与目标音量值相匹配的各歌单标识。或者,服务器可以根据预先存储的各歌曲的歌曲标识与适宜播放的音量值的对应关系、以及各歌单包含的歌曲的歌曲标识,确定对应的音量值与目标音量值相匹配的歌单包含的各歌曲标识。
步骤103,向目标终端发送确定出的各歌曲标识。
在实施中,确定出各歌曲标识后,服务器可以向目标终端发送确定出的歌曲标识。相应的,目标终端可以显示接收到的各歌曲标识。当用户想要听取某歌曲时,可以选取相应的歌曲标识,此时,目标终端将会接收到对该歌曲标识的选取指令,进而,可以向服务器发送歌曲获取请求,其中,歌曲获取请求中可以携带有歌曲标识。服务器接收到歌曲获取请求后,可以向目标终端发送该歌曲标识对应的音频数据。或者,服务器在向目标终端发送确定出的各歌曲标识时,依次向目标终端发送,并在发送每个歌曲标识时,同时发送音频数据。相应的,目标终端接收到音频数据后,可以直接对其进行播放。
另外,本发明实施例讲述了服务器通过音量值向目标终端推荐歌曲的处理过程中,在具体实现时,服务器还可以结合其他用户属性,向目标终端推荐歌曲。
本发明实施例中,服务器在向终端推荐歌曲时,可以先确定目标终端对应的目标音量值,进而,可以在预先存储的各歌曲的歌曲标识与适宜播放的音量值的对应关系中,确定对应的音量值与目标音量值相匹配的歌曲标识,其中,音量值可以包括歌曲播放音量值。确定出歌曲标识后,可以向终端发送确定出的各歌曲标识。终端对应的目标音量值即是用户设置的,即终端对应的音量值作为用户属性,可以反映用户的偏好。这样,服务器确定出的歌曲标识更适合用户,用户对其进行播放的可能性更大,从而,可以提高推荐准确率。
基于相同的技术构思,本发明实施例还提供了一种推荐歌曲的装置,如图3所示,该装置包括:
第一确定模块310,用于确定目标终端对应的目标音量值;
第二确定模块320,用于根据预先存储的各歌曲的歌曲标识与适宜播放的音量值的对应关系,确定对应的音量值与所述目标音量值相匹配的各歌曲标识,其中,所述音量值包括歌曲播放音量值;
发送模块330,用于向所述目标终端发送确定出的各歌曲标识。
可选的,所述第一确定模块310,用于:
当接收到目标终端发送的歌曲推荐请求时,确定目标终端对应的目标音量值。
可选的,所述第一确定模块310,用于:
当接收到目标终端发送的携带有所述目标终端当前的音量值的歌曲推荐请求时,将所述歌曲推荐请求中携带的目标终端当前的音量值,确定为所述目标终端对应的目标音量值。
可选的,所述第一确定模块310,用于:
获取历史时段内目标终端每当播放歌曲时发送的所述目标终端的音量值;
根据获取到的目标终端的各个音量值,计算所述目标终端对应的目标音量值。
可选的,所述第一确定模块310,用于:
计算获取到的目标终端的各个音量值的平均音量值,将所述平均音量值确定为所述目标终端对应的目标音量值;或者,
在获取到的目标终端的各个音量值中,确定出现次数最多的音量值,将出现次数最多的音量值确定为所述目标终端对应的目标音量值。
可选的,所述第一确定模块310,用于:
获取目标终端对应的喜爱歌曲列表;
将所述喜爱歌曲列表中的每个歌曲对应的音量值,确定为目标终端对应的目标音量值。
可选的,如图4所示,所述装置还包括:
获取模块340,用于获取历史时段内每个终端在播放第一歌曲时发送的所述终端的音量值;
第三确定模块350,用于根据获取到的每个终端发送的所述终端的音量值,确定所述第一歌曲对应的音量值;
添加模块360,用于将所述第一歌曲的歌曲标识与确定出的音量值,对应添加到所述对应关系中。
可选的,所述音量值还包括以下音量值的一种或多种:
系统音量值、通话音量值、铃声音量值、提示音音量值。
本发明实施例中,服务器在向终端推荐歌曲时,可以先确定目标终端对应的目标音量值,进而,可以在预先存储的各歌曲的歌曲标识与适宜播放的音量值的对应关系中,确定对应的音量值与目标音量值相匹配的歌曲标识,其中,音量值可以包括歌曲播放音量值。确定出歌曲标识后,可以向终端发送确定出的各歌曲标识。终端对应的目标音量值即是用户设置的,即终端对应的音量值作为用户属性,可以反映用户的偏好。这样,服务器确定出的歌曲标识更适合用户,用户对其进行播放的可能性更大,从而,可以提高推荐准确率。
需要说明的是:上述实施例提供的推荐歌曲的得装置在推荐歌曲的时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的推荐歌曲的装置与推荐歌曲的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图5是本发明实施例提供的服务器的结构示意图。该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器1900上执行存储介质1930中的一系列指令操作。
服务器1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,一个或一个以上键盘1956,和/或,一个或一个以上操作系统1941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
服务器1900可以包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
确定目标终端对应的目标音量值;
根据预先存储的各歌曲的歌曲标识与适宜播放的音量值的对应关系,确定对应的音量值与所述目标音量值相匹配的各歌曲标识,其中,所述音量值包括歌曲播放音量值;
向所述目标终端发送确定出的各歌曲标识。
可选的,所述确定目标终端对应的目标音量值,包括:
当接收到目标终端发送的歌曲推荐请求时,确定目标终端对应的目标音量值。
可选的,所述当接收到目标终端发送的歌曲推荐请求时,确定目标终端对应的目标音量值,包括:
当接收到目标终端发送的携带有所述目标终端当前的音量值的歌曲推荐请求时,将所述歌曲推荐请求中携带的目标终端当前的音量值,确定为所述目标终端对应的目标音量值。
可选的,所述确定目标终端对应的目标音量值,包括:
获取历史时段内目标终端每当播放歌曲时发送的所述目标终端的音量值;
根据获取到的目标终端的各个音量值,计算所述目标终端对应的目标音量值。
可选的,所述根据获取到的目标终端的各个音量值,计算所述目标终端对应的目标音量值,包括:
计算获取到的目标终端的各个音量值的平均音量值,将所述平均音量值确定为所述目标终端对应的目标音量值;或者,
在获取到的目标终端的各个音量值中,确定出现次数最多的音量值,将出现次数最多的音量值确定为所述目标终端对应的目标音量值。
可选的,所述确定目标终端对应的目标音量值,包括:
获取目标终端对应的喜爱歌曲列表;
将所述喜爱歌曲列表中的每个歌曲对应的音量值,确定为目标终端对应的目标音量值。
可选的,所述方法还包括:
获取历史时段内每个终端在播放第一歌曲时发送的所述终端的音量值;
根据获取到的每个终端发送的所述终端的音量值,确定所述第一歌曲对应的音量值;
将所述第一歌曲的歌曲标识与确定出的音量值,对应添加到所述对应关系中。
可选的,所述音量值还包括以下音量值的一种或多种:
系统音量值、通话音量值、铃声音量值、提示音音量值。
本发明实施例中,服务器在向终端推荐歌曲时,可以先确定目标终端对应的目标音量值,进而,可以在预先存储的各歌曲的歌曲标识与适宜播放的音量值的对应关系中,确定对应的音量值与目标音量值相匹配的歌曲标识,其中,音量值可以包括歌曲播放音量值。确定出歌曲标识后,可以向终端发送确定出的各歌曲标识。终端对应的目标音量值即是用户设置的,即终端对应的音量值作为用户属性,可以反映用户的偏好。这样,服务器确定出的歌曲标识更适合用户,用户对其进行播放的可能性更大,从而,可以提高推荐准确率。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。