会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利分类库 / 乐器;声学 / 歌曲合唱的方法、装置及系统

歌曲合唱的方法、装置及系统

申请号 CN202010223176.9 申请日 2020-03-26 公开(公告)号 CN111402844B 公开(公告)日 2024-04-09
申请人 广州酷狗计算机科技有限公司; 发明人 范苑; 黄裕佳; 田先明; 黄仕强;
摘要 本 申请 是关于一种歌曲合唱的方法、装置及系统,属于通信领域。所述方法包括:第一终端获取待合唱歌曲的歌曲信息,待合唱歌曲的歌词信息和伴奏信息,所述歌曲信息包括所述待合唱歌曲的歌曲标识;第一终端向第二终端发送合唱 请求 ,所述合唱请求包括所述歌曲信息,所述合唱请求用于所述第二终端基于所述歌曲信息获取所述待合唱歌曲的歌词信息和伴奏信息;第一终端播放所述待合唱歌曲的歌词信息和伴奏信息,并获取所述待合唱歌曲的播放进度;第一终端向所述第二终端发送第一播放请求,所述第一播放请求包括所述播放进度,所述第一播放请求用于所述第二终端基于所述播放进度播放所述待合唱歌曲的歌词信息和伴奏信息。本申请能够实现实时合唱。
权利要求

1.一种歌曲合唱的方法,其特征在于,所述方法包括:
第一终端获取待合唱歌曲的歌曲信息、所述待合唱歌曲的歌词信息和伴奏信息,所述歌曲信息包括所述待合唱歌曲的歌曲标识;
所述第一终端通过服务器向多个第二终端发送携带第一用户的用户标识和第二用户的用户标识的合唱邀请请求,并接收所述第二终端通过所述服务器发送的合唱邀请响应,其中所述第二用户的用户标识的数量为多个并分别对应一个所述第二终端;所述服务器用于将所述第一用户与多个所述第二用户组成一个合唱群组,并分配群组标识,以及将所述群组标识、所述第一用户的用户标识和所述第二用户的用户标识对应保存在群组标识与用户标识的对应关系中;
所述第一终端向所述服务器发送合唱请求,所述合唱请求包括所述第一用户的用户标识和所述合唱群组的群组标识,所述服务器用于根据所述合唱请求中的所述合唱群组的群组标识和所述第一用户的用户标识,从所述对应关系中获取所述合唱群组包括的除所述第一用户之外的各个第二用户的用户标识,并向各个第二用户对应的第二终端发送所述合唱请求,所述合唱请求包括所述歌曲信息,所述合唱请求用于所述第二终端基于所述歌曲信息获取所述待合唱歌曲的歌词信息和伴奏信息;
所述第一终端播放所述待合唱歌曲的歌词信息和伴奏信息,并获取所述待合唱歌曲的播放进度;
所述第一终端周期性地向所述服务器发送第一播放请求,直至所述第一终端的第一用户和所述第二终端的第二用户合唱完所述待合唱歌曲,所述第一播放请求包括所述第一用户的用户标识、在当前周期内获取的所述播放进度、在当前周期内录制所述第一用户歌唱所述待合唱歌曲得到的第一音频数据以及所述合唱群组的群组标识;所述服务器用于根据所述合唱群组的群组标识和所述第一用户的用户标识,从所述对应关系中获取所述合唱群组包括的除所述第一用户之外的各第二用户的用户标识,根据各第二用户的用户标识,向各第二用户对应的第二终端发送所述第一播放请求,所述第一播放请求用于所述第二终端播放所述第一音频数据,并基于所述播放进度播放所述待合唱歌曲的歌词信息和伴奏信息,录制所述第二用户歌唱所述待合唱歌曲得到第二音频数据,周期性地向所述服务器发送第二播放请求,直至所述第一用户和所述第二用户合唱完所述待合唱歌曲,所述第二播放请求包括所述第二用户的用户标识、所述合唱群组的群组标识和当前周期内的第二音频数据,所述服务器用于根据所述群组标识和所述第二用户的用户标识,获取所述合唱群组包括的除所述第二用户之外的其他每个用户的用户标识,根据其他每个用户的用户标识,分别向其他每个用户对应的终端发送所述第二播放请求,所述第二播放请求用于使其他每个用户对应的终端播放所述第二音频数据;
所述方法还包括:
所述第一终端响应于所述第一用户暂停或拖动播放进度,向所述合唱群组的其他终端发送控制命令,所述控制命令包括暂停指示或拖动后的播放进度;所述控制命令用于使所述合唱群组内其他终端根据所述控制命令中的暂停指示暂停播放所述待合唱歌曲,或根据拖动后的播放进度播放所述待合唱歌曲。
2.如权利要求1所述的方法,其特征在于,所述第一终端与第一麦克相连,所述第二终端与第二麦克风相连,所述第一播放请求还用于所述第二终端基于所述播放进度播放所述歌词信息以及通过所述第二麦克风播放所述伴奏信息;
所述第一终端播放所述待合唱歌曲的歌词信息和伴奏信息,包括:
所述第一终端播放所述歌词信息,以及向所述第一麦克风发送所述伴奏信息和所述播放进度,使所述第一麦克风基于所述播放进度播放所述伴奏信息。
3.如权利要求1所述的方法,其特征在于,所述第一终端与第一麦克风和第二麦克风相连,所述第一播放请求还用于所述第二终端基于所述播放进度播放所述歌词信息以及通过所述第二麦克风播放所述伴奏信息;
所述第一终端播放所述待合唱歌曲的歌词信息和伴奏信息,包括:
所述第一终端播放所述歌词信息,以及分别向所述第一麦克风和所述第二麦克风发送所述伴奏信息和所述播放进度,使所述第一麦克风和所述第二麦克风基于所述播放进度播放所述伴奏信息。
4.一种歌曲合唱的方法,其特征在于,所述方法包括:
第二终端接收第一终端通过服务器向多个第二终端发送的、携带第一用户的用户标识和第二用户的用户标识的合唱邀请请求,其中所述第二用户的用户标识的数量为多个并分别对应一个所述第二终端;
所述第二终端通过所述服务器向所述第一终端发送合唱邀请响应;所述服务器将所述第一用户与多个所述第二用户组成一个合唱群组,并分配群组标识,以及将所述群组标识、所述第一用户的用户标识和所述第二用户的用户标识对应保存在群组标识与用户标识的对应关系中;
所述第二终端接收所述服务器发送的合唱请求,所述合唱请求包括所述第一用户的用户标识、所述合唱群组的群组标识和待合唱歌曲的歌曲信息,所述歌曲信息包括所述待合唱歌曲的歌曲标识,所述合唱请求为所述服务器在接收到所述第一终端发送的所述合唱请求后,根据所述合唱请求中的所述合唱群组的群组标识和所述第一用户的用户标识,从所述对应关系中获取所述合唱群组包括的除所述第一用户之外的各个第二用户的用户标识,并向各个第二用户对应的第二终端发送的;
所述第二终端基于所述歌曲信息获取所述待合唱歌曲的歌词信息和伴奏信息;
所述第二终端接收第一播放请求,所述第一播放请求为所述服务器周期性地向所述第二终端发送,直至所述第一终端的第一用户和所述第二终端的第二用户合唱完所述待合唱歌曲,所述第一播放请求包括所述第一用户的用户标识、所述第一终端在当前周期内获取的所述伴奏信息的播放进度、在当前周期内录制所述第一用户歌唱所述待合唱歌曲得到的第一音频数据、所述待合唱歌曲的歌曲信息以及所述合唱群组的群组标识,所述第一播放请求为所述服务器接收到所述第一终端发送的所述第一播放请求后,根据所述合唱群组的群组标识和所述第一用户的用户标识,从所述对应关系中获取所述合唱群组包括的除所述第一用户之外的各第二用户的用户标识,根据各第二用户的用户标识,向各第二用户对应的第二终端发送的;
所述第二终端播放所述第一音频数据,并基于所述播放进度播放所述待合唱歌曲的歌词信息和伴奏信息;
所述第二终端录制所述第二用户歌唱所述待合唱歌曲得到第二音频数据,周期性地向所述服务器发送第二播放请求,直至所述第一用户和所述第二用户合唱完所述待合唱歌曲,所述第二播放请求包括所述第二用户的用户标识、所述合唱群组的群组标识和当前周期内的第二音频数据,所述服务器用于根据所述群组标识和所述第二用户的用户标识,获取所述合唱群组包括的除所述第二用户之外的其他每个用户的用户标识,根据其他每个用户的用户标识,分别向其他每个用户对应的终端发送所述第二播放请求,所述第二播放请求用于使所述其他每个用户对应的终端播放所述第二音频数据;
所述方法还包括:
所述第二终端响应于所述第二用户暂停或拖动播放进度,向所述合唱群组的其他终端发送控制命令,所述控制命令包括暂停指示或拖动后的播放进度;所述控制命令用于使所述合唱群组内其他终端根据所述控制命令中的暂停指示暂停播放所述待合唱歌曲,或根据拖动后的播放进度播放所述待合唱歌曲。
5.如权利要求4所述的方法,其特征在于,所述第二终端与第二麦克风相连,所述第二终端基于所述播放进度播放所述待合唱歌曲的歌词信息和伴奏信息,包括:
所述第二终端播放所述歌词信息,以及向所述第二麦克风发送所述伴奏信息和所述播放进度,使所述第二麦克风基于所述播放进度播放所述伴奏信息。
6.一种歌曲合唱的装置,其特征在于,所述装置包括:
获取模,用于获取待合唱歌曲的歌曲信息、所述待合唱歌曲的歌词信息和伴奏信息,所述歌曲信息包括所述待合唱歌曲的歌曲标识;
发送模块,用于通过服务器向多个第二终端发送携带第一用户的用户标识和第二用户的用户标识的合唱邀请请求,并接收所述第二终端通过所述服务器发送的合唱邀请响应,其中所述第二用户的用户标识的数量为多个并分别对应一个所述第二终端;所述服务器用于将所述第一用户与多个所述第二用户组成一个合唱群组,并分配群组标识,以及将所述群组标识、所述第一用户的用户标识和所述第二用户的用户标识对应保存在群组标识与用户标识的对应关系中;向所述服务器发送合唱请求,所述合唱请求包括所述第一用户的用户标识和所述合唱群组的群组标识,所述服务器用于根据所述合唱请求中的所述合唱群组的群组标识和所述第一用户的用户标识,从所述对应关系中获取所述合唱群组包括的除所述第一用户之外的各个第二用户的用户标识,并向各个第二用户对应的第二终端发送所述合唱请求,所述合唱请求包括所述歌曲信息,所述合唱请求用于所述第二终端基于所述歌曲信息获取所述待合唱歌曲的歌词信息和伴奏信息;
播放模块,用于播放所述待合唱歌曲的歌词信息和伴奏信息,并获取所述待合唱歌曲的播放进度;
所述发送模块,还用于周期性地向所述服务器发送第一播放请求,直至所述装置的第一用户和所述第二终端的第二用户合唱完所述待合唱歌曲,所述第一播放请求包括所述第一用户的用户标识、在当前周期内获取的所述播放进度、在当前周期内录制所述第一用户歌唱所述待合唱歌曲得到的第一音频数据以及所述合唱群组的群组标识;所述服务器用于根据所述合唱群组的群组标识和所述第一用户的用户标识,从所述对应关系中获取所述合唱群组包括的除所述第一用户之外的各第二用户的用户标识,根据各第二用户的用户标识,向各第二用户对应的第二终端发送所述第一播放请求,所述第一播放请求用于所述第二终端播放所述第一音频数据,并基于所述播放进度播放所述待合唱歌曲的歌词信息和伴奏信息,录制所述第二用户歌唱所述待合唱歌曲得到第二音频数据,周期性地向所述服务器发送第二播放请求,直至所述第一用户和所述第二用户合唱完所述待合唱歌曲,所述第二播放请求包括所述第二用户的用户标识、所述合唱群组的群组标识和当前周期内的第二音频数据,所述服务器用于根据所述群组标识和所述第二用户的用户标识,获取所述合唱群组包括的除所述第二用户之外的其他每个用户的用户标识,根据其他每个用户的用户标识,分别向其他每个用户对应的终端发送所述第二播放请求,所述第二播放请求用于使所述其他每个用户对应的终端播放所述第二音频数据;
所述发送模块,还用于响应于所述第一用户暂停或拖动播放进度,向所述合唱群组的其他终端发送控制命令,所述控制命令包括暂停指示或拖动后的播放进度;所述控制命令用于使所述合唱群组内其他终端根据所述控制命令中的暂停指示暂停播放所述待合唱歌曲,或根据拖动后的播放进度播放所述待合唱歌曲。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:
制模块,用于录制第一用户歌唱所述待合唱歌曲,得到第一音频数据。
8.如权利要求6所述的装置,其特征在于,所述装置还包括:
接收模块,用于接收所述第二终端发送的第二播放请求;
所述播放模块,还用于播放所述第二音频数据。
9.如权利要求6所述的装置,其特征在于,所述装置与第一麦克风相连,所述第二终端与第二麦克风相连,所述第一播放请求还用于所述第二终端基于所述播放进度播放所述歌词信息以及通过所述第二麦克风播放所述伴奏信息;
所述播放模块,用于播放所述歌词信息;
所述发送模块,还用于向所述第一麦克风发送所述伴奏信息和所述播放进度,使所述第一麦克风基于所述播放进度播放所述伴奏信息。
10.如权利要求6所述的装置,其特征在于,所述装置与第一麦克风和第二麦克风相连,所述第一播放请求还用于所述第二终端基于所述播放进度播放所述歌词信息以及通过所述第二麦克风播放所述伴奏信息;
所述播放模块,用于播放所述歌词信息;
所述发送模块,还用于分别向所述第一麦克风和所述第二麦克风发送所述伴奏信息和所述播放进度,使所述第一麦克风和所述第二麦克风基于所述播放进度播放所述伴奏信息。
11.一种歌曲合唱的装置,其特征在于,所述装置包括:
接收模块,用于接收第一终端通过服务器向多个第二终端发送的、携带第一用户的用户标识和第二用户的用户标识的合唱邀请请求,其中所述第二用户的用户标识的数量为多个并分别对应一个所述第二终端;所述第二终端通过所述服务器向所述第一终端发送合唱邀请响应;所述服务器将所述第一用户与多个所述第二用户组成一个合唱群组,并分配群组标识,以及将所述群组标识、所述第一用户的用户标识和所述第二用户的用户标识对应保存在群组标识与用户标识的对应关系中;接收所述服务器发送的合唱请求,所述合唱请求包括所述第一用户的用户标识、所述合唱群组的群组标识和待合唱歌曲的歌曲信息,所述歌曲信息包括所述待合唱歌曲的歌曲标识,所述合唱请求为所述服务器在接收到所述第一终端发送的所述合唱请求后,根据所述合唱请求中的所述合唱群组的群组标识和所述第一用户的用户标识,从所述对应关系中获取所述合唱群组包括的除所述第一用户之外的各个第二用户的用户标识,并向各个第二用户对应的第二终端发送的;
获取模块,用于基于所述歌曲信息获取所述待合唱歌曲的歌词信息和伴奏信息;
所述接收模块,还用于接收第一播放请求,所述第一播放请求为服务器周期性地向所述装置发送,直至所述第一终端的第一用户和所述装置的第二用户合唱完所述待合唱歌曲,所述第一播放请求包括所述第一用户的用户标识、所述第一终端在当前周期内获取的所述伴奏信息的播放进度、在当前周期内录制所述第一用户歌唱所述待合唱歌曲得到的第一音频数据和所述待合唱歌曲的歌曲信息以及所述合唱群组的群组标识,所述第一播放请求为所述服务器接收到所述第一终端发送的所述第一播放请求后,根据所述合唱群组的群组标识和所述第一用户的用户标识,从所述对应关系中获取所述合唱群组包括的除所述第一用户之外的各第二用户的用户标识,根据各第二用户的用户标识,向各第二用户对应的第二终端发送的;
播放模块,用于播放所述第一音频数据,并基于所述播放进度播放所述待合唱歌曲的歌词信息和伴奏信息;
录制模块,用于录制所述第二用户歌唱所述待合唱歌曲得到第二音频数据;
发送模块,用于周期性地向所述服务器发送第二播放请求,直至所述第一用户和所述第二用户合唱完所述待合唱歌曲,所述第二播放请求包括所述第二用户的用户标识、所述合唱群组的群组标识和当前周期内的第二音频数据,所述服务器用于根据所述群组标识和所述第二用户的用户标识,获取所述合唱群组包括的除所述第二用户之外的其他每个用户的用户标识,根据其他每个用户的用户标识,分别向其他每个用户对应的终端发送所述第二播放请求,所述第二播放请求用于使所述其他每个用户对应的终端播放所述第二音频数据;
所述发送模块,还用于响应于所述第二用户暂停或拖动播放进度,向所述合唱群组的其他终端发送控制命令,所述控制命令包括暂停指示或拖动后的播放进度;所述控制命令用于使所述合唱群组内其他终端根据所述控制命令中的暂停指示暂停播放所述待合唱歌曲,或根据拖动后的播放进度播放所述待合唱歌曲。
12.如权利要求11所述的装置,其特征在于,所述播放模块,还播放所述第一音频数据。
13.如权利要求11所述的装置,其特征在于,所述装置与第二麦克风相连,所述播放模块,用于播放所述歌词信息,以及向所述第二麦克风发送所述伴奏信息和所述播放进度,使所述第二麦克风基于所述播放进度播放所述伴奏信息。
14.一种歌曲合唱的系统,其特征在于,所述系统包括如权利要求6至10任一项所述的装置和如权利要求11至13任一项所述的装置。

说明书全文

歌曲合唱的方法、装置及系统

技术领域

[0001] 本申请涉及通信领域,特别涉及一种歌曲合唱的方法、装置及系统。

背景技术

[0002] 唱歌应用程序是目前深受用户喜欢的一类应用程序,唱歌应用程序能够为用户提供在线独唱和合唱的服务。
[0003] 当用户进行合唱时,目前的歌曲合唱方案为:第一用户对应的第一终端运行该唱歌应用程序,第一用户唱一首歌曲,第一终端录制第一用户歌唱的该歌曲,得到第一歌曲文件,向服务器发送第一歌曲文件。第二用户对应的第二终端运行该唱歌应用程序,第二用户也歌唱该首歌曲,第二终端录制第二用户歌唱的该歌曲,得到第二歌曲文件,向服务器发送第二歌曲文件。服务器接收第一歌曲文件和第二歌曲文件,将该两个歌曲文件合成为一个第三歌曲文件,这样播放第三歌曲文件时,实现第一用户和第二用户合唱该歌曲。
[0004] 在实现本申请的过程中,发明人发现现有技术至少存在以下问题:
[0005] 目前第一用户和第二用户分别在不同时间段在不同终端上进行歌曲合唱,参与感差,第一用户和第二用户无法实现实时合唱。

发明内容

[0006] 本申请实施例提供了一种歌曲合唱的方法、装置及系统,以实现实时合唱。
[0007] 所述技术方案如下:
[0008] 第一方面,本申请提供了一种歌曲合唱的方法,所述方法包括:
[0009] 第一终端获取待合唱歌曲的歌曲信息,所述待合唱歌曲的歌词信息和伴奏信息,所述歌曲信息包括所述待合唱歌曲的歌曲标识;
[0010] 所述第一终端向第二终端发送合唱请求,所述合唱请求包括所述歌曲信息,所述合唱请求用于所述第二终端基于所述歌曲信息获取所述待合唱歌曲的歌词信息和伴奏信息;
[0011] 所述第一终端播放所述待合唱歌曲的歌词信息和伴奏信息,并获取所述待合唱歌曲的播放进度;
[0012] 所述第一终端向所述第二终端发送第一播放请求,所述第一播放请求包括所述播放进度,所述第一播放请求用于所述第二终端基于所述播放进度播放所述待合唱歌曲的歌词信息和伴奏信息。
[0013] 可选的,所述第一终端向所述第二终端发送第一播放请求之前,还包括:
[0014] 所述第一终端录制第一用户歌唱所述待合唱歌曲,得到第一音频数据,所述第一播放请求还包括所述第一音频数据,所述第一播放请求还用于所述第二终端播放所述第一音频数据。
[0015] 可选的,所述第一终端向第二终端发送合唱请求之后,还包括:
[0016] 所述第一终端接收所述第二终端发送的第二播放请求,所述第二播放请求包括第二音频数据,所述第二音频数据是所述第二终端录制第二用户歌唱所述待合唱歌曲得到的数据,播放所述第二音频数据。
[0017] 可选的,所述第一终端与第一麦克相连,所述第二终端与第二麦克风相连,所述第一播放请求还用于所述第二终端基于所述播放进度播放所述歌词信息以及通过所述第二麦克风播放所述伴奏信息;
[0018] 所述第一终端播放所述待合唱歌曲的歌词信息和伴奏信息,包括:
[0019] 所述第一终端播放所述歌词信息,以及向所述第一麦克风发送所述伴奏信息和所述播放进度,使所述第一麦克风基于所述播放进度播放所述伴奏信息。
[0020] 可选的,所述第一终端与第一麦克风和第二麦克风相连,所述第一播放请求还用于所述第二终端基于所述播放进度播放所述歌词信息以及通过所述第二麦克风播放所述伴奏信息;
[0021] 所述第一终端播放所述待合唱歌曲的歌词信息和伴奏信息,包括:
[0022] 所述第一终端播放所述歌词信息,以及分别向所述第一麦克风和所述第二麦克风发送所述伴奏信息和所述播放进度,使所述第一麦克风和所述第二麦克风基于所述播放进度播放所述伴奏信息。
[0023] 第二方面,本申请提供了一种歌曲合唱的方法,所述方法包括:
[0024] 第二终端接收第一终端发送的合唱请求,所述合唱请求包括待合唱歌曲的歌曲信息,所述歌曲信息包括所述待合唱歌曲的歌曲标识;
[0025] 所述第二终端基于所述歌曲信息获取所述待合唱歌曲的歌词信息和伴奏信息;
[0026] 所述第二终端接收第一播放请求,所述第一播放请求包括所述第一终端播放所述待合唱歌曲的歌曲信息和伴奏信息的播放进度;
[0027] 所述第二终端基于所述播放进度播放所述待合唱歌曲的歌词信息和伴奏信息。
[0028] 可选的,所述第一播放请求还包括所述第一音频数据,所述第一音频数据是所述第一终端录制第一用户歌唱所述待合唱歌曲得到的数据,所述方法还包括:
[0029] 所述第二终端播放所述第一音频数据。
[0030] 可选的,所述方法还包括:
[0031] 所述第二终端录制第二用户歌唱所述待合唱歌曲,得到第二音频数据,向所述第一终端发送第二播放请求,所述第二播放请求包括所述第二音频数据,所述第二播放请求用于所述第一终端播放所述第二音频数据。
[0032] 可选的,所述第二终端与第二麦克风相连,所述第二终端基于所述播放进度播放所述待合唱歌曲的歌词信息和伴奏信息,包括:
[0033] 所述第二终端播放所述歌词信息,以及向所述第二麦克风发送所述伴奏信息和所述播放进度,使所述第二麦克风基于所述播放进度播放所述伴奏信息。
[0034] 第三方面,本申请提供了一种歌曲合唱的装置,所述装置包括:
[0035] 获取模,用于获取待合唱歌曲的歌曲信息,所述待合唱歌曲的歌词信息和伴奏信息,所述歌曲信息包括所述待合唱歌曲的歌曲标识;
[0036] 发送模块,用于向第二终端发送合唱请求,所述合唱请求包括所述歌曲信息,所述合唱请求用于所述第二终端基于所述歌曲信息获取所述待合唱歌曲的歌词信息和伴奏信息;
[0037] 播放模块,用于播放所述待合唱歌曲的歌词信息和伴奏信息,并获取所述待合唱歌曲的播放进度;
[0038] 所述发送模块,还用于向所述第二终端发送第一播放请求,所述第一播放请求包括所述播放进度,所述第一播放请求用于所述第二终端基于所述播放进度播放所述待合唱歌曲的歌词信息和伴奏信息。
[0039] 可选的,所述装置还包括:
[0040] 录制模块,用于录制第一用户歌唱所述待合唱歌曲,得到第一音频数据,所述第一播放请求还包括所述第一音频数据,所述第一播放请求还用于所述第二终端播放所述第一音频数据。
[0041] 可选的,所述装置还包括:
[0042] 接收模块,用于接收所述第二终端发送的第二播放请求,所述第二播放请求包括第二音频数据,所述第二音频数据是所述第二终端录制第二用户歌唱所述待合唱歌曲得到的数据;
[0043] 所述播放模块,还用于播放所述第二音频数据。
[0044] 可选的,所述装置与第一麦克风相连,所述第二终端与第二麦克风相连,所述第一播放请求还用于所述第二终端基于所述播放进度播放所述歌词信息以及通过所述第二麦克风播放所述伴奏信息;
[0045] 所述播放模块,用于播放所述歌词信息;
[0046] 所述发送模块,还用于向所述第一麦克风发送所述伴奏信息和所述播放进度,使所述第一麦克风基于所述播放进度播放所述伴奏信息。
[0047] 可选的,所述装置与第一麦克风和第二麦克风相连,所述第一播放请求还用于所述第二终端基于所述播放进度播放所述歌词信息以及通过所述第二麦克风播放所述伴奏信息;
[0048] 所述播放模块,用于播放所述歌词信息;
[0049] 所述发送模块,还用于分别向所述第一麦克风和所述第二麦克风发送所述伴奏信息和所述播放进度,使所述第一麦克风和所述第二麦克风基于所述播放进度播放所述伴奏信息。
[0050] 第四方面,本申请提供了一种歌曲合唱的装置,所述装置包括:
[0051] 接收模块,用于接收第一终端发送的合唱请求,所述合唱请求包括待合唱歌曲的歌曲信息,所述歌曲信息包括所述待合唱歌曲的歌曲标识;
[0052] 获取模块,用于基于所述歌曲信息获取所述待合唱歌曲的歌词信息和伴奏信息;
[0053] 所述接收模块,还用于接收第一播放请求,所述第一播放请求包括所述第一终端播放所述待合唱歌曲的歌曲信息和伴奏信息的播放进度;
[0054] 播放模块,用于基于所述播放进度播放所述待合唱歌曲的歌词信息和伴奏信息。
[0055] 可选的,所述第一播放请求还包括所述第一音频数据,所述第一音频数据是所述第一终端录制第一用户歌唱所述待合唱歌曲得到的数据,所述播放模块,还播放所述第一音频数据。
[0056] 可选的,所述装置还包括:
[0057] 录制模块,用于录制第二用户歌唱所述待合唱歌曲,得到第二音频数据;
[0058] 发送模块,用于向所述第一终端发送第二播放请求,所述第二播放请求包括所述第二音频数据,所述第二播放请求用于所述第一终端播放所述第二音频数据。
[0059] 可选的,所述装置与第二麦克风相连,所述播放模块,用于播放所述歌词信息,以及向所述第二麦克风发送所述伴奏信息和所述播放进度,使所述第二麦克风基于所述播放进度播放所述伴奏信息。
[0060] 第五方面,本申请提供了一种歌曲合唱的系统,所述系统包括第三方面所述的装置和第四方面所述的装置。
[0061] 第六方面,本申请提供了一种终端,包括:处理器和存储器。其中,所述处理器以及所述存储器之间可以通过总线系统相连。所述存储器用于存储程序、指令或代码,所述处理器用于执行所述存储器中的程序、指令或代码,完成上述第一方面或第二方面所述的方法。
[0062] 第七方面,本申请提供了一种计算机程序产品,所述计算机程序产品包括在计算机可读存储介质中存储的计算机程序,并且所述计算程序通过处理器进行加载来实现上述第一方面或第二方面所述的方法。
[0063] 第八方面,本申请实施例提供了一种非易失性计算机可读存储介质,用于存储计算机程序,所述计算机程序通过处理器进行加载来执行上述第一方面或第二方面所述的方法的指令。
[0064] 本申请实施例提供的技术方案可以包括以下有益效果:
[0065] 在本申请实施例中,第一终端获取待合唱歌曲的歌曲信息,待合唱歌曲的歌词信息和伴奏信息,向第二终端发送合唱请求,该合唱请求包括该歌曲信息。第二终端接收该合唱请求,基于该歌曲信息获取待合唱歌曲的歌词信息和伴奏信息。第一终端播放待合唱歌曲的歌词信息和伴奏信息,并获取待合唱歌曲的播放进度,向第二终端发送第一播放请求,第一播放请求包括该播放进度。第二终端接收第一播放请求,基于该播放进度播放待合唱歌曲的歌词信息和伴奏信息。如此第一终端和第二终端同步播放待合唱歌曲的歌词信息和伴奏信息,这样第一用户可以基于第一终端播放待合唱歌曲的歌词信息和伴奏信息歌唱待合唱歌曲,以及第二用户基于第二终端播放待合唱歌曲的歌词信息和伴奏信息歌唱待合唱歌曲,从而第一用户和第二用户实现实时合唱。
[0066] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。附图说明
[0067] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
[0068] 图1是本申请实施例提供的一种网络架构示意图;
[0069] 图2是本申请实施例提供的另一种网络架构示意图;
[0070] 图3是本申请实施例提供的另一种网络架构示意图;
[0071] 图4是本申请实施例提供的另一种网络架构示意图;
[0072] 图5是本申请实施例提供的一种歌曲合唱的方法流程图
[0073] 图6是本申请实施例提供的另一种歌曲合唱的方法流程图;
[0074] 图7是本申请实施例提供的另一种歌曲合唱的方法流程图;
[0075] 图8是本申请实施例提供的一种歌曲合唱的装置结构示意图;
[0076] 图9是本申请实施例提供的另一种歌曲合唱的装置结构示意图;
[0077] 图10是本申请实施例提供的一种歌曲合唱的系统结构示意图;
[0078] 图11是本申请实施例提供的另一种歌曲合唱的装置结构示意图。
[0079] 通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。

具体实施方式

[0080] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0081] 参见图1,本申请提供了一种网络架构,包括:
[0082] 第一终端和第二终端,第一终端与第二终端之间建立有长连接。
[0083] 第一终端中安装有唱歌客户端,第二终端中也安装有唱歌客户端,第一终端运行该唱歌客户端,第二终端也安装该唱歌客户端。
[0084] 第一终端对应的第一用户与第二终端对应的第二用户需要进行合唱歌曲时,第一终端和第二终端分别运行该唱歌客户端,然后第一终端和第二终端之间建立该长连接,第一终端和第二终端通过该长连接实现第一用户和第二用户合唱歌曲,实现合唱歌曲的详细实现过程,将在后续图7所示的实施例进行详细说明。
[0085] 参见图1,该网络架构还包括该唱歌客户端对应的服务器,第一终端与第二终端之间的长连接包括第一终端与服务器之间的长连接,以及,第二终端与服务器之间的长连接。
[0086] 可选的,第一终端与服务器之间的长连接为websocket连接,第二终端与服务器之间的长连接为websocket连接。
[0087] 参见图2,该网络架构还包括第一麦克风和第二麦克风。
[0088] 可选的,参见图2,第一麦克风与第一终端相连,第二麦克风与第二终端相连,其中,第一麦克风与第一终端之间建立有短距离连接,第二麦克风与第二终端之间建立有短距离连接。或者,
[0089] 可选的,参见图3,第一麦克风与第一终端相连,第一麦克风与第二麦克风相连,其中,第一麦克风与第一终端之间建立有短距离连接,第一麦克风也与第二麦克风之间建立有短距离连接。
[0090] 可选的,短距离连接为蓝牙连接或wifi连接等。
[0091] 第一用户和第二用户在进行合唱时,第一用户使用第一麦克风进行歌唱,第二用户使用第二麦克风进行歌唱。
[0092] 可选的,第一麦克风和第二麦克风均具有扬声器的功能,且第一麦克风和第二麦克风播放歌曲的效果好于第一终端播放歌曲的效果,以及好于第二终端播放歌曲的效果。
[0093] 可选的,参见图4,在该网络架构中,第二终端的数目为一个或多个,在第二终端的数目为多个时,第一终端分别建立与每个第二终端之间的长连接。也就是说,第一用户可以与一个第二用户合唱歌曲,或,第一用户可以与多个第二用户合唱歌曲。
[0094] 相应地,该网络架构也可以包括一个或多个第二麦克风,这样以使每个第二用户使用一个麦克风与第一用户进行合唱歌曲。
[0095] 参见图5,本申请实施例提供了一种歌曲合唱的方法,所述方法包括:
[0096] 步骤101:第一终端获取待合唱歌曲的歌曲信息,待合唱歌曲的歌词信息和伴奏信息,该歌曲信息包括待合唱歌曲的歌曲标识。
[0097] 步骤102:第一终端向第二终端发送合唱请求,该合唱请求包括该歌曲信息,该合唱请求用于第二终端基于该歌曲信息获取待合唱歌曲的歌词信息和伴奏信息。
[0098] 步骤103:第一终端播放待合唱歌曲的歌词信息和伴奏信息,并获取待合唱歌曲的播放进度。
[0099] 步骤104:第一终端向第二终端发送第一播放请求,第一播放请求包括该播放进度,第一播放请求用于第二终端基于该播放进度播放待合唱歌曲的歌词信息和伴奏信息。
[0100] 在本申请实施例中,第一终端播放待合唱歌曲的歌词信息和伴奏信息,并获取待合唱歌曲的播放进度,向第二终端发送第一播放请求,第一播放请求包括该播放进度,使得第二终端基于该播放进度播放待合唱歌曲的歌词信息和伴奏信息。如此第一终端和第二终端同步播放待合唱歌曲的歌词信息和伴奏信息,这样第一用户可以基于第一终端播放待合唱歌曲的歌词信息和伴奏信息歌唱待合唱歌曲,以及第二用户基于第二终端播放待合唱歌曲的歌词信息和伴奏信息歌唱待合唱歌曲,从而第一用户和第二用户实现实时合唱。
[0101] 参见图6,本申请实施例提供了一种歌曲合唱的方法,所述方法包括:
[0102] 步骤201:第二终端接收第一终端发送的合唱请求,该合唱请求包括待合唱歌曲的歌曲信息,该歌曲信息包括待合唱歌曲的歌曲标识。
[0103] 步骤202:第二终端基于该歌曲信息获取待合唱歌曲的歌词信息和伴奏信息。
[0104] 步骤203:第二终端接收第一播放请求,第一播放请求包括第一终端播放待合唱歌曲的歌曲信息和伴奏信息的播放进度。
[0105] 步骤204:第二终端基于该播放进度播放待合唱歌曲的歌词信息和伴奏信息。
[0106] 在本申请实施例中,第二终端接收第一播放请求,第一播放请求包括第一终端播放待合唱歌曲的歌曲信息和伴奏信息的播放进度,基于该播放进度播放待合唱歌曲的歌词信息和伴奏信息。如此第一终端和第二终端同步播放待合唱歌曲的歌词信息和伴奏信息,这样第一用户可以基于第一终端播放待合唱歌曲的歌词信息和伴奏信息歌唱待合唱歌曲,以及第二用户基于第二终端播放待合唱歌曲的歌词信息和伴奏信息歌唱待合唱歌曲,从而第一用户和第二用户实现实时合唱。
[0107] 参见图7,本申请实施例提供了一种合唱歌曲的方法,该方法应用于图1、图2、图3或图4所示的网络架构中,该方法包括:
[0108] 步骤301:第一终端建立与第二终端之间的长连接。
[0109] 当第一用户需要与第二用户进行合唱歌曲时,第一终端获取第二用户的用户标识,根据第二用户的用户标识,建立与第二终端之间的长连接。
[0110] 第二用户的用户标识是第二用户事先在第二终端的唱歌客户端上注册的用户标识,可以为注册的用户账号等。
[0111] 第一终端可以运行安装在第一终端上的唱歌客户端,该唱歌客户端包括第一用户的好友列表,若第二用户是该好友列表中的一个用户,第一用户可以在该好友列表中选择一个用户的用户标识,第一终端获取被选择的用户的用户标识作为第二用户的用户标识。或者,该唱歌客户端可以显示当前在线的用户,第一用户可以选择一个在线的用户,第一终端获取被选择的在线的用户的用户标识作为第二用户的用户标识。
[0112] 可选的,第一终端获取到第二用户的用户标识后,根据第二用户的用户标识向第二终端发送合唱邀请请求,在第二用户同意该合唱邀请请求后,第一终端根据第二用户的用户标识建立与第二终端之间的长连接。
[0113] 在实现时,第一终端向服务器发送携带第一用户的用户标识和第二用户的用户标识的合唱邀请请求,服务器接收该合唱邀请请求,根据该合唱邀请请求包括的第二用户的用户标识向第二终端发送该合唱邀请请求。第二终端接收该合唱邀请请求,向第二用户提示第一用户请求合唱歌曲,在第二用户同意该合唱邀请时向服务器合唱同意响应,该合唱同意响应包括第一用户的用户标识。服务器接收该合唱邀请响应,根据该合唱邀请响应包括的第一用户的用户标识,向第一终端发在该合唱邀请响应。
[0114] 第一终端接收该合唱邀请响应后,向服务器发送长连接建立请求,该长连接建立请求包括第一用户的用户标识和第二用户的用户标识。服务器接收该长连接建立请求,分配群组标识,建立与第一终端之间的长连接和第二终端之间的长连接,以及向第一终端和第二终端发送该群组标识,以及将该群组标识、第一用户的用户标识和第二用户的用户标识对应保存在群组标识与用户标识的对应关系中。
[0115] 第一用户和第二用户进行合唱时,服务器可以将第一用户和第二用户组成一个合唱群组。
[0116] 可选的,该长连接为websocket连接。
[0117] 可选的,第一用户可以选择多个第二用户,这样第一用户对应的第一终端通过上述方式分别建立与每个第二用户对应的第二终端之间的长连接。也就是说,服务器将第一用户和多个第二用户组成一个合唱群组。
[0118] 可选的,第一终端和第二终端建立完长连接后,第一终端还可以建立与第一麦克风之间的短距离连接,第二终端还可以建立与第二麦克风之间的短距离连接。
[0119] 步骤302:第一终端获取待合唱歌曲的歌曲信息,待合唱歌曲的歌词信息和伴奏信息,该歌曲信息包括待合唱歌曲的歌曲标识。
[0120] 第一终端安装的唱歌客户端包括歌曲列表,该歌曲列表包括至少一个歌曲的歌曲标识。第一用户可以在该歌曲列表中选择一个歌曲的歌曲标识,第一终端从该歌曲列表中获取被选择的该歌曲的歌曲标识作为待合唱歌曲的歌曲标识。根据待合唱歌曲的歌曲标识,从服务器中获取待合唱歌曲的歌曲信息,待合唱歌曲的歌词信息和伴奏信息。该歌曲信息还可以包括待合唱歌曲的歌曲名称、歌手姓名、所属专辑名称、歌曲封面图片和歌曲风格等中的至少一个。
[0121] 步骤303:第一终端向第二终端发送合唱请求,该合唱请求包括待合唱歌曲的歌曲信息。
[0122] 可选的,该合唱请求还包括第一用户的用户标识和合唱群组的群组标识。这样在本步骤,第一终端通过与服务器之间的长连接向服务器发送该合唱请求。服务器接收该合唱请求,根据该合唱群组的群组标识和第一用户的用户标识,从群组标识与用户标识的对应关系中获取该合唱群组包括的除第一用户之外的各第二用户的用户标识,根据该各第二用户的用户标识,通过与各第二用户对应的第二终端之间的长连接向各第二用户对应的第二终端发送该合唱请求。
[0123] 步骤304:第二终端接收该合唱请求,基于该歌曲信息获取待合唱歌曲的歌词信息和伴奏信息。
[0124] 第二终端接收该合唱请求后,可以显示该合唱请求携带的待合唱歌曲的歌曲信息,以及根据该歌曲信息包括的待合唱歌曲的歌曲标识,从服务器中获取待合唱歌曲的歌词信息和伴奏信息。
[0125] 当第二数据包括多个的情况下,每个第二终端接收该合唱请求,均基于该歌曲信息获取待合唱歌曲的歌词信息和伴奏信息。
[0126] 步骤305:第一终端播放待合唱歌曲的歌词信息和伴奏信息,并获取待合唱歌曲的播放进度。
[0127] 第一终端获取到待合唱歌曲的歌词信息和伴奏信息后,便可以开始播放待合唱歌曲的歌词信息和伴奏信息。
[0128] 可选的,本申请实施例的方法应用于图2或图4所示的网络架构,在该网络架构中,第一用户和每个第二用户可能相距较远,第一终端与第一麦克风之间建立有短距离连接,每个第二用户的第二终端分别与每个第二用户的第二麦克风之间建立有短距离连接。在本步骤中,第一终端可以向第一麦克风发送该伴奏信息,由第一麦克风播放该伴奏信息。
[0129] 可选的,本申请实施例的方法应用于图3所示的网络架构,第一用户和每个第二用户可能在一起,例如位于同一个房间里,第一终端可以与每个第二用户的第二麦克风之间建立有短距离连接。
[0130] 可选的,第一终端与第一麦克风建立有短距离连接,第一麦克风与每个第二用户的第二麦克风之间建立有短距离连接,如此实现第一终端与每个第二用户的第二麦克风之间建立有短距离连接。
[0131] 在本步骤中,第一终端可以向第一麦克风和每个第二麦克风分别发送该伴奏信息,由第一麦克风播放该伴奏信息和每个第二麦克风播放该伴奏信息。
[0132] 可选的,在应用于图2或图4所示的网络架构中,在第一终端播放该歌词信息和该伴奏信息后,第一用户可以开始歌唱待合唱歌曲。第一终端可以录制第一用户歌唱所述待合唱歌曲,得到第一音频数据。
[0133] 步骤306:第一终端向第二终端发送第一播放请求,第一播放请求包括该播放进度。
[0134] 可选的,第一播放请求还包括第一音频数据、该合唱群组的群组标识和第一用户的用户标识。
[0135] 可选的,第一终端可以周期地获取该播放进度,并向第二终端发送第一播放请求,第一播放请求包括在当前周期内获取的该播放进度,在当前周期内录制的第一音频数据和该合唱群组的群组标识和第一用户的用户标识。
[0136] 第一终端通过第一终端与服务器之间的长连接向服务器发送第一播放请求,服务器接收第一播放请求,根据该合唱群组的群组标识和第一用户的用户标识,从群组标识与用户标识的对应关系中获取该合唱群组包括的除第一用户之外的各第二用户的用户标识,根据该各第二用户的用户标识,通过与各第二用户对应的第二终端之间的长连接,向各第二用户对应的第二终端发送第一播放请求。
[0137] 可选的,第一用户可以拖动待合唱歌曲的播放进度或选择跳过待合唱歌曲的前奏,第一终端可以获取拖动后的播放进度或跳过前奏后的播放进度,然后向第二终端发送包括该播放进度、该合唱群组的群组标识和第一用户的用户标识的播放请求。
[0138] 步骤307:第二终端接收第一播放请求,基于第一播放请求包括的该播放进度播放待合唱歌曲的歌词信息和伴奏信息。
[0139] 在第二终端与第二麦克风之间建立有短距离连接时,第二终端可以向第二麦克风发送该播放进度,以使第二麦克风基于该播放进度播放该伴奏信息。
[0140] 可选的,在应用于图2或图4所示的网络架构中,第一播放请求还包括第一音频数据,第二终端还播放第一音频数据。
[0141] 可选的,第二终端可以向第二麦克风发送第一音频数据,以使第二麦克风播放第一音频数据。
[0142] 在第二终端的数目为多个的情况下,每个第二终端均按本步骤执行播放待合唱歌曲的歌词信息和伴奏信息。
[0143] 可选的,在应用于图2或图4所示的网络架构中,第二终端录制第二用户歌唱所述待合唱歌曲,得到第二音频数据,周期性地向第一终端发送第二播放请求,第二播放请求还包括在当前周期录制的第二音频数据,所述第二播放请求用于所述第一终端播放所述第二音频数据。
[0144] 第二播放请求还包括第二用户的用户标识和该合唱群组的群组标识。第二终端通过与服务器之间的长连接,向服务器发送第二播放请求。服务器接收第二播放请求,根据该群组标识和该第二用户的用户标识,获取该合唱群组包括的除该第二用户之外的其他每个用户的用户标识,根据其他每个用户的用户标识分别向其他每个用户对应的终端发送第二播放请求。
[0145] 其他每个用户对应的终端包括第一终端,第一终端接收第二播放请求,播放第二播放请求包括的第二音频数据。
[0146] 可选的,第一终端向第一麦克风发送第二音频数据,以使第一麦克风播放第二音频数据。
[0147] 第一终端和第二终端周期地执行上述步骤305至307,直到第一用户和第二用户合唱完待合唱歌曲。
[0148] 可选的,第一用户或第二用户可以暂停或拖动播放进度,第一用户或第二用户对应的终端可以向合唱群组的其他终端发送控制命令,该控制命令包括暂停指示或拖动后的播放进度。这样该终端暂停播放待合唱歌曲,或根据拖动后的播放进度,播放待合唱歌曲;或者,其他终端接收该控制命令,根据该控制命令包括的暂停指示,暂停播放待合唱歌曲,或根据拖动后的播放进度,播放待合唱歌曲。
[0149] 在本申请实施例中,由于第一终端播放待合唱歌曲的歌词信息和伴奏信息,并获取待合唱歌曲的播放进度,这样第一用户可以唱歌待合唱歌曲。第一终端向第二终端发送第一播放请求,第一播放请求包括该播放进度,第二终端接收第一播放请求,基于该播放进度播放待合唱歌曲的歌词信息和伴奏信息,这样第二用户可以唱歌待合唱歌曲,如此实现实时合唱。
[0150] 下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
[0151] 参见图8,本申请实施例提供了一种歌曲合唱的装置400,所述装置400包括:
[0152] 获取模块401,用于获取待合唱歌曲的歌曲信息,所述待合唱歌曲的歌词信息和伴奏信息,所述歌曲信息包括所述待合唱歌曲的歌曲标识;
[0153] 发送模块402,用于向第二终端发送合唱请求,所述合唱请求包括所述歌曲信息,所述合唱请求用于所述第二终端基于所述歌曲信息获取所述待合唱歌曲的歌词信息和伴奏信息;
[0154] 播放模块403,用于播放所述待合唱歌曲的歌词信息和伴奏信息,并获取所述待合唱歌曲的播放进度;
[0155] 所述发送模块402,还用于向所述第二终端发送第一播放请求,所述第一播放请求包括所述播放进度,所述第一播放请求用于所述第二终端基于所述播放进度播放所述待合唱歌曲的歌词信息和伴奏信息。
[0156] 可选的,所述装置400还包括:
[0157] 录制模块,用于录制第一用户歌唱所述待合唱歌曲,得到第一音频数据,所述第一播放请求还包括所述第一音频数据,所述第一播放请求还用于所述第二终端播放所述第一音频数据。
[0158] 可选的,所述装置400还包括:
[0159] 接收模块,用于接收所述第二终端发送的第二播放请求,所述第二播放请求包括第二音频数据,所述第二音频数据是所述第二终端录制第二用户歌唱所述待合唱歌曲得到的数据;
[0160] 所述播放模块403,还用于播放所述第二音频数据。
[0161] 可选的,所述装置400与第一麦克风相连,所述第二终端与第二麦克风相连,所述第一播放请求还用于所述第二终端基于所述播放进度播放所述歌词信息以及通过所述第二麦克风播放所述伴奏信息;
[0162] 所述播放模块403,用于播放所述歌词信息;
[0163] 所述发送模块402,还用于向所述第一麦克风发送所述伴奏信息和所述播放进度,使所述第一麦克风基于所述播放进度播放所述伴奏信息。
[0164] 可选的,所述装置400与第一麦克风和第二麦克风相连,所述第一播放请求还用于所述第二终端基于所述播放进度播放所述歌词信息以及通过所述第二麦克风播放所述伴奏信息;
[0165] 所述播放模块403,用于播放所述歌词信息;
[0166] 所述发送模块402,还用于分别向所述第一麦克风和所述第二麦克风发送所述伴奏信息和所述播放进度,使所述第一麦克风和所述第二麦克风基于所述播放进度播放所述伴奏信息。
[0167] 在本申请实施例中,播放模块播放待合唱歌曲的歌词信息和伴奏信息,并获取待合唱歌曲的播放进度,发送模块向第二终端发送第一播放请求,第一播放请求包括该播放进度,使得第二终端基于该播放进度播放待合唱歌曲的歌词信息和伴奏信息。如此所述装置和第二终端同步播放待合唱歌曲的歌词信息和伴奏信息,这样第一用户可以基于所述装置播放待合唱歌曲的歌词信息和伴奏信息歌唱待合唱歌曲,以及第二用户基于第二终端播放待合唱歌曲的歌词信息和伴奏信息歌唱待合唱歌曲,从而第一用户和第二用户实现实时合唱。
[0168] 参见图9,本申请实施例提供了一种歌曲合唱的装置500,所述装置500包括:
[0169] 接收模块501,用于接收第一终端发送的合唱请求,所述合唱请求包括待合唱歌曲的歌曲信息,所述歌曲信息包括所述待合唱歌曲的歌曲标识;
[0170] 获取模块502,用于基于所述歌曲信息获取所述待合唱歌曲的歌词信息和伴奏信息;
[0171] 所述接收模块501,还用于接收第一播放请求,所述第一播放请求包括所述第一终端播放所述待合唱歌曲的歌曲信息和伴奏信息的播放进度;
[0172] 播放模块503,用于基于所述播放进度播放所述待合唱歌曲的歌词信息和伴奏信息。
[0173] 可选的,所述第一播放请求还包括所述第一音频数据,所述第一音频数据是所述第一终端录制第一用户歌唱所述待合唱歌曲得到的数据,所述播放模块,还播放所述第一音频数据。
[0174] 可选的,所述装置500还包括:
[0175] 录制模块,用于录制第二用户歌唱所述待合唱歌曲,得到第二音频数据;
[0176] 发送模块,用于向所述第一终端发送第二播放请求,所述第二播放请求包括所述第二音频数据,所述第二播放请求用于所述第一终端播放所述第二音频数据。
[0177] 可选的,所述装置500与第二麦克风相连,所述播放模块,用于播放所述歌词信息,以及向所述第二麦克风发送所述伴奏信息和所述播放进度,使所述第二麦克风基于所述播放进度播放所述伴奏信息。
[0178] 在本申请实施例中,接收模块接收第一播放请求,第一播放请求包括第一终端播放待合唱歌曲的歌曲信息和伴奏信息的播放进度,播放模块基于该播放进度播放待合唱歌曲的歌词信息和伴奏信息。如此第一终端和所述装置同步播放待合唱歌曲的歌词信息和伴奏信息,这样第一用户可以基于第一终端播放待合唱歌曲的歌词信息和伴奏信息歌唱待合唱歌曲,以及第二用户基于所述装置播放待合唱歌曲的歌词信息和伴奏信息歌唱待合唱歌曲,从而第一用户和第二用户实现实时合唱。
[0179] 参见图10,本申请实施例一种歌曲合唱的系统600,所述系统600包括如图8所述的装置400和如图9所述的装置500。如图8所述的装置400可以为第一终端601,如图9所述的装置500可以为第二终端602。
[0180] 关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0181] 图11示出了本发明一个示例性实施例提供的终端700的结构框图。该终端700可以是上述第一终端和第二终端,第一终端或第二终端可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端700还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
[0182] 通常,终端700包括有:处理器701和存储器702。
[0183] 处理器701可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器701可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器701可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器701还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
[0184] 存储器702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器702中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器701所执行以实现本申请中方法实施例提供的歌曲合唱的方法。
[0185] 在一些实施例中,终端700还可选包括有:外围设备接口703和至少一个外围设备。处理器701、存储器702和外围设备接口703之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口703相连。具体地,外围设备包括:射频电路
704、触摸显示屏705、摄像头706、音频电路707、定位组件708和电源709中的至少一种。
[0186] 外围设备接口703可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器701和存储器702。在一些实施例中,处理器701、存储器702和外围设备接口703被集成在同一芯片或电路板上;在一些其他实施例中,处理器701、存储器702和外围设备接口703中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
[0187] 射频电路704用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路704通过电磁信号与通信网络以及其他通信设备进行通信。射频电路704将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路704包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路704可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路704还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
[0188] 显示屏705用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏705是触摸显示屏时,显示屏705还具有采集在显示屏705的表面或表面上方的触摸信号的能。该触摸信号可以作为控制信号输入至处理器701进行处理。此时,显示屏705还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏705可以为一个,设置终端700的前面板;在另一些实施例中,显示屏705可以为至少两个,分别设置在终端700的不同表面或呈折叠设计;在再一些实施例中,显示屏705可以是柔性显示屏,设置在终端700的弯曲表面上或折叠面上。甚至,显示屏705还可以设置成非矩形的不规则图形,也即异形屏。显示屏705可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light‑Emitting Diode,有机发光二极管)等材质制备。
[0189] 摄像头组件706用于采集图像或视频。可选地,摄像头组件706包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件706还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
[0190] 音频电路707可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器701进行处理,或者输入至射频电路704以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端700的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器701或射频电路
704的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路707还可以包括机插孔。
[0191] 定位组件708用于定位终端700的当前地理位置,以实现导航或LBS(Location Based  Service,基于位置的服务)。定位组件708可以是基于美国的GPS(Global Positioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
[0192] 电源709用于为终端700中的各个组件进行供电。电源709可以是交流电、直流电、一次性电池或可充电电池。当电源709包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
[0193] 在一些实施例中,终端700还包括有一个或多个传感器710。该一个或多个传感器710包括但不限于:加速度传感器711、陀螺仪传感器712、压力传感器713、指纹传感器714、光学传感器715以及接近传感器716。
[0194] 加速度传感器711可以检测以终端700建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器711可以用于检测重力加速度在三个坐标轴上的分量。处理器701可以根据加速度传感器711采集的重力加速度信号,控制触摸显示屏705以横向视图或纵向视图进行用户界面的显示。加速度传感器711还可以用于游戏或者用户的运动数据的采集。
[0195] 陀螺仪传感器712可以检测终端700的机体方向及转动角度,陀螺仪传感器712可以与加速度传感器711协同采集用户对终端700的3D动作。处理器701根据陀螺仪传感器712采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
[0196] 压力传感器713可以设置在终端700的侧边框和/或触摸显示屏705的下层。当压力传感器713设置在终端700的侧边框时,可以检测用户对终端700的握持信号,由处理器701根据压力传感器713采集的握持信号进行左右手识别或快捷操作。当压力传感器713设置在触摸显示屏705的下层时,由处理器701根据用户对触摸显示屏705的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
[0197] 指纹传感器714用于采集用户的指纹,由处理器701根据指纹传感器714采集到的指纹识别用户的身份,或者,由指纹传感器714根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器701授权该用户执行相关的敏感操作,该敏感操作包括解屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器714可以被设置终端700的正面、背面或侧面。当终端700上设置有物理按键或厂商Logo时,指纹传感器714可以与物理按键或厂商Logo集成在一起。
[0198] 光学传感器715用于采集环境光强度。在一个实施例中,处理器701可以根据光学传感器715采集的环境光强度,控制触摸显示屏705的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏705的显示亮度;当环境光强度较低时,调低触摸显示屏705的显示亮度。在另一个实施例中,处理器701还可以根据光学传感器715采集的环境光强度,动态调整摄像头组件706的拍摄参数。
[0199] 接近传感器716,也称距离传感器,通常设置在终端700的前面板。接近传感器716用于采集用户与终端700的正面之间的距离。在一个实施例中,当接近传感器716检测到用户与终端700的正面之间的距离逐渐变小时,由处理器701控制触摸显示屏705从亮屏状态切换为息屏状态;当接近传感器716检测到用户与终端700的正面之间的距离逐渐变大时,由处理器701控制触摸显示屏705从息屏状态切换为亮屏状态。
[0200] 本领域技术人员可以理解,图11中示出的结构并不构成对终端700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0201] 本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
[0202] 应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。